refactor 27