--- should be same length with statement