Turns out exceptions were slowing down everything ...
Replaced exceptions with bool reference for error checking