more refactoring
mooooore refactoring