added the ability to pass an App type