chainable device class