now works with ko.observableArrays and normal arrays