add gather_facts to Device