fix cp recursively. wow, can't believe I forget that, pretty impressive