fix
add tests