initial code for revision