added shade() so we can do some basic rendering independent color