Generations

Ready to merge to master