- separate demo from type