complex variables and applications