issue #2, implementing auto generator