refactor as generic binding available check