updated bind to use ctx first for partial application