internal interface seems ok, fixes #1