add better client ip detection