post fns can now take object or function without data param