changes overloading constructors added