new constructors, private pointers