weakptr promote support. typo fixed