added interceptor functionality