interate on entrySet instead?