added a way of doing x generations