data model now based on mutable array ref #3