Main #Generation