heatmap is functional but needs to be tweeked