adding worker API (ready)