one last refactor