add ContainsKey(string); cleanup, etc.