solution method