refactor 40