add curry function