completed function call and callback implementation
support getter for pure value