TypeDef cleanup
added AxSmartPointer base Class to smartpointers