Working mutable and immutable versions.