updated to allow nullable string