added recursive object handling to printprops