update this api to make sense
and update the client