added background worker