adding function? and set-function!