fix subclasses not being alloc'd in the singleton