models changes
purchase model (not fully complete)