added background process functionality