Continue modularising Interface.
another merge