ability to specify update value with a function