refactored some code
more refactoring
more refactoring
more refactoring