add holdPosition to disable resetPosition on need