Refactored to use classes
Adding new, wrapping text, fixing empty contents
Improving output