lots of work, now using datatables