re-organize testing part