new diagnostics types list
refactor of dictionary
refactir if dicts