Add some more methods
Implement everything up to next_generation