added game of life implementation