much more refactoring