uses ip dynamically