Transfer method is complicated, but the others should work