fix, applying delegate now returns the result