add a precondition to error out with a more meaningful message