using classes instead of modules for manager and worker