change counter to derive and add new device subclass