client upload remake