refactor and combine all highlighters into one