I added two more implementations to round out the comparison