Revised model class
Use blueprint to break the app into submodules