use resolv() method in case it is available
duct-taped return value issue caused by refactoring update logic