should we put an assert down here since it seems we should catch all cases?