change collect to completeTrade