add auto reset implementation
implement timeout feature
add InsertEnter as a timing for reset