currying
function call