implementing raw pointer parent