Api changes

Closes #7 

@rcrichton if you could please review?
Again, the if statements `{ }`, if you agree.