refactor app to match skeleton22