refactoring records to retrofit interfaces