mvp code is sloppy but basic app works