Updated models to include additional fields, natural keys, and added __str__ and __init__ functions.