better caret support