Use DistributedShell as prototype