Now throws exeptions on illegal values