updated server and client components