add weakptr and autolock to n3