include automatic tests for the new classes
modify methods that returns collections to return a iterator instead
