add highlight functions, but has bug