use ko.observableArray to replace raw data array