use tick service instead of separated host update thread