throw exception instead of returning null value