instead of safe_base method set safe_base property in ctor