refactor
refactor
add test
refactor
change ip, add logger