ok happy enough with error handling