client side and basic modifications