moved upload and mandator logic to helper classes