improve immutability