use objects for nodes