more tests and immutability control