Updated code to not throw exceptions so now it does as much as possible. It's polite