update denormalize functions

- fixed denormalize functions so that they only update a specific item in a collection, rather than going through every item in a collection. This drastically improves performance!