do not preserve last id because it is useless
add doc for marking char and timeout
add tests for timeout and highlight features