added bool isHardwareMode