throw a better error if call is made to non-existant method
added set_readonly method to make date field non-editable