add comments
add #include
update Tests