deprecating "generate" - implementing more generic mechanism