cleaned up version of ColorButton