recrusion insert & find_min added