putting immutability into rules