First draft at generator