init params must be optional