use DynamicPipe instead of SimpleHandshake