#63 big refactor, now apprunner and the app itself are separated