remove unused
update test
add tests