refactor 12