fix a bug where everything was optional.