add developer documentation, add more tests for collection relating to has