#139 restructured impl package