update web API & add page logic