Added several device differentials and made significant changes in order to simplify and streamline Hardware. Also, most of the work is done to change the methods from instance methods to class methods,