making progress on the changes and refactoring