with new maxutility function