New refactor request

new branch for refactoring.