more refactoring WIP