refactor internal interfaces
add verify_target route