add more currying to delay to help performance