added core functionality for uploader's side