refactor of evaluate module