added union
changed getOrElse meaning on none options.