update color in a pretty nice way