should both fromPort and toPort check if canMate each other? What happens if one says no and the other says yes?