I wonder if I can optimise it somehow.