module extension api & impl  - more simply
removed unused interface