a simple char device that implements read and write