add documentation
add documentation 2
add debug macro and final_test script