Cleaner casting, less recursion and properly new-line content.
Cleaner casting.