require supervisor