refactor 2-2