add support weight process
refactor