this version is still incorrect but largely working. Mainly due to firefox's inability to get worker by tabID