Cleaned up and commented models.py
Added tests