add search function
add compile flag