a game of life implementation