added try/catch to complete