adjusted API, to discuss

what you think @caolan?