read and write hardware finally splited
fix