models definition with fields