Moved 'generate' methods to classes