make sure length get to the delay first
refine the signalling
some more tweaks