rewriting code for remove duplicate
few typos
add deallocate for virtual ip