working on code organization