move generation to a task