completed client side pagination