add:move data logic to to Model and add test