for large size output, not complete yet.