[DEV] start rework on shared pointer