improved logic to only annotate fields when it's necessary