add anti-forget strategy. fix all bugs