optional parameters for default cnstructor