other way to make serial nonblocking