added a bunch of additional error handling, turns out the rift throws uncatchable errors on effectively a null ref