more refactoring of the future