add test
refactor
replace data value with object