not all args are required for the color funcs