refactor round 1