add package.json, enhance encapsulation of the app