some modification in color.h