change offset implementation and change method invocation