now with pagination
error handling