added support for code folding