add TOS handling