rename interface, split it and fix namespace