refactor option generation in evaluation stage