function "curry" changed