adding more tests, adding more comments