Refactored recorder and added operation logging