Should this be throwing an exception instead of just returning?