revise and extend