reworked upload helper class (still in progress)