added owned pointers