Record model and validation