no longer need getOptional