Added more exceptions to guard against silly mistakes