refactoring/ clean up