App interface

new version of #4919