Added some stuff to reduce the number of exceptions, still a lot of work remains