finished crud for listing with pagination