updating this to a self-validating field type