adding client-side
some changes