refactored views models and all thatjazz