TAP ALGORITHM