project 2 implemented and tested