more refactoring changes