additional cleanup and refactoring