move the interface into the header file
fix some build warnings
add a test settings button in settings