refactored models.py; added preliminary views