implement more currying functions