Added constructors and operator overloads.