working ctor/dtor