refactor: refactor record