add funtion