Implement max generations