added arraymap
fixed mutable