put complex functions in ComplexTools