added impl from amarktl, eherf