ServiceID is now a uint16
rewrite correctly Marshal and ParseHeader