[issue #12] Refactor round 1