refactor PreprocWrapperCaret