nice color changes - handles negative values