game of life - taken from Robin