Ouch! API depending on the internals of the implementation...