WIP: add xml file, not completed
WIP: modify the xml file
WIP: change the cxx file
WIP: edit the cmake file
WIP: fix compile errors