move in wrapInTryCatch as shield.wrap
copy constructor property in shield.wrap + misc changes