add linking exception; mark the boundary of th API