refactor 2.1