added protectedObservableArray and created DAL