more flexible partial application