with dictionaries for variable management