Fixed mutate, changed copy to a deepcopy
Host generation added, slightly better test.py