initial background job processing. still bugs though
image uploading to the background
fix merge conflict