revise/tidy up