use partial application