Strengthening cuts for mixed integer programs