fixed various error handling bugs, new isup