closer to refactor