8.79 refactor utils