Continued step refactor and test coverage