fix: free a shared pointer
add: visit scripts key points