cleaned up some comments and tested