8.5 hours total, cleaned up a bit

2 more hours, a little cleanup and extra error catching