added curry functions