Upload frameworks