more refactoring towards imutability