added impl hacks