I'd prefer moving all the implementation to main.cpp, instead of specifying it in the header. This also avoids having to make main.h depend on ui_interface.h