implements user security + add upload event