Edited generation methods

Still need to edit method_missing()