Api improvements
Clarify contract
TODO