First commit to refactor branch