refactoring, clean-up