Invia SMS: Theory of submodular programs