don't use global error handling for shit