improve specs, work on error handling

This seems unnecessary if we use composer's autloading rules.