binder.c redo to allow upstream