comments + slight optimisation