added ip validation