Complex variables with applications