Better API

Closes #1.
This should actually be `cb(new Error('filename missing')`