fixed hardware adapter and tested, works