add color functions and tiny up others