update props implementation