js datamodel and visuals