changed to use hamcrest matchers for collection sizes