implemented all features apart from downloading the file from S3 and checking that sidekiq works