refactor serial, update readme