使用列对齐

另外把一些函数改用 fold 重写