better host checking and no change handling