default value can be set as NULL if it is optional