add highlight and improve granularity