Refactor and rework DataTable