Add worker action (and many other improvements)