improved game of life example