Expand and refactor app skeleton