support constructions without explicit new operator