add WIP bgworker implementation.