refactered code to remove public properties, added living tree generation