small optimisation tweaks