- added lots of exceptions where exceptions were needed