long generation