method invoke works