updated exceptions and docblocks