init
add more functions