This paper analyzes a canonical principal-agent problem with moral hazard and adverse selection. The agent is risk averse and has private information about his disutility of taking an unobservable action. The principal is risk neutral and designs a menu of contracts consisting of a compensation scheme and a recommended action for each type of agent to maximize expected profit. We first derive a set of sufficient conditions for menus to be feasible (i.e., satisfy participation and incentive compatibility). Then we provide a method of solution, decoupling, consisting in solving first a cost minimization problem for a pure moral hazard problem for each type, action, utility level of the agent, and then use the resulting cost function to solve a suitable adverse selection problem. The method delivers a candidate solution for the original problem, which is an actual solution if it is feasible. We show several classes of primitives under which this holds. We also describe many properties that optimal menus exhibit when decoupling is valid.