device class for each separate type to call same commands easily