added models, views, and route functionality