updates for optional and pickmany