problem with testing one thing and using another is we need to test what will run on things, i think a better way is to resolve which function it will be used inside the function rather.