add exception type parameter to functions, more no throw methods, unwrapping runtimeerrors