async via curry and memo