refactor8