add js framework and refine pagination