improve specs, work on error handling

good call