life's algorithm