added comments, did not write tests