Add HardwareInterface class
Merge origin/master