add magic method and method interceptor