cleanup/refactoring
more refactoring