touch recursively