commented solution