example object creation that recursively instantiates fields