Rv app

a bunch of changes that cleanup the app and make it easier to test. More to come, but let's get these in anyway