gpr upload implementation