refactor 2.4