working on mutable core