The second attemt for feature 3194 implementation. See https://github.com/EllisLab/CodeIgniter/issues/3194