this is handled by isvalid