refined slightly