added explanatory bits