new file:   interface.cpp