note on apps.js