Adding all code from GOL