heatmap works, but slow