added a main.cpp to test the execution