slightly more compact code