refactor by seperating to result
tracking datalist implementation.