functions are applied before pull up or down
this avoids some weird issues when a localised data or newData is inside the function
version bump