well add some func again
add