cleanup/refactoring