constructor param is optional