added supervisor functionality