more refactoring, again!