able to mask, colormap; refactored