added 3 specializations of the complex template