Best fit algo