cleanup
refactoring
more refactoring