all functions integrated