more work on payload upload