add basic utils
add tunnel
add compatiable with mac os x