rewrote serial class
what