WIP refactor .worker, .web done (untested)