updated currying