use TAP protocol