move components to client side usage