Complex variables and applications