refactored app.js + data.js