abstract app into module, add entry point
reformat application controller