This is quite slow, I wonder if there's something we can do to improve this performance.