move visualization to app.js