moved printing to a different module, to create a view hierarchy and represent the data