changed RegisterHost to take a copy of a Host struct