Use promises instead of callbacks
Added examples to README