binder refactored to allow separate scan phase