testing code included, some comments in the header file