tried to refactor but failed
refactor shipped form