5_refactor