more flexible linkage choosing