modularized IGV, modified window struct, TODO: modularize the search function.. TODO: continue search function