invoke method improved