update functions
remove partial and use curry instead of it