add base classes, models, collections, and view logic