I don't mind the laziness. Looking at the original code now it seems a bit crazy to do this eagerly