implement RTS in software and CTS in hardware
this is based on initial work by Sid, reset here for easier merging