move all backend interaction to sidekiq backgroud jobs