add functionX