app should always be a class (I suppose)