extend and invoke