I'm not sure the purpose of `tmpData`