refactoring and some sckeleton recorder classes