add better color and text handling to map