made more models and added extra functionality