finish random color, may need modify