should work with any function now