improved datasource and pagination