some more refactoring
some more refactoring