making progress on the changes and refactoring
making progress on the changes and refactoring