Some comment on what each implementation used for would be nice.