code clean-up and refactoring