refactor watch
add test for init
refactor make