register is deprecated
adding android support for exceptions
making the gcl root a bit nicer to read