Updating recording implementation (still untested).