implement ip lookup
add benchmark