implement add recorder