make binding handlers more generic