Added abstract recorder