updates to client-side javascript