working up device classes now/ pruning for maintainability and to make fitting it to your model work easier