made the visualization more flexible - variable columns - and added ability to update link