simplify code
add more unit tests