revise solution