modules client side