small changes to make parts of the algorithm more readable
added inverse of marginal utility function to speed up the algorithm