add lib
add functions