preliminary app framework for ctrl-app