use weight insteadof sort