binder refactor