add functionW