setValue now supports changes that span over multiple blocks