API overhaul

What's the reaction? Throw some exception?