cleaning up/refactoring