modified default contructor to random behaviour
updated non-default constructor