refactoring effort to improve code quality and modernize project.