adds some comments and passes tests