implemented instance creation with deault constructors