changing to dataview for better performance