add another notation
clean up
remove
add function interface example
add consume example