added more to the test code and more comments in the project code