refactor round 2