Make sure that we dont change data in argument, add deep_copy.