[#12] changed to usage of first, reverse, or