add proper tap function and inject