more tests and further code commenting