refactoring works for 01 and 02 not 03