I wonder if we should refactor the bind provider? its not that DRY