I'm an idiot

much simpler and more effective (still really basic) error handling