Add Queryable struct and From, where functions
Add a draft select function
improve the select function performance
restructure and add AVL tree
add Join function