Error handeling isn't completely terrible. Fixes issue #1