fix concurrent modification
more tests