Let me try to make sense here. So, perhaps you should call the ```update_dictionary``` function first. Then, if args['provider'] is None, then choose a random value from FOREMAN_PROVIDERS. Also, make sure that ```args``` have all the allowed attributes (aka 'keys') already as part of the declaration and set to None. Lastly, the logic below sets every single attribute to None. When construct_command is called, these attributes will never be used, so is this logic necessary?