Redesigned the reference-counter pointer