v1.1 
add a function