uses supervisor, so it plays nicely as a base