comments
more refactoring