refactor week 5