diff --git a/yaml_private_h.go b/yaml_private_h.go
index c01c7f3..781166e 100644
--- a/yaml_private_h.go
+++ b/yaml_private_h.go
@@ -139,111 +139,3 @@
 	}
 	return 0
 }
-
-
-///*
-// * Event initializers.
-// */
-//
-//#define EVENT_INIT(event,event_type,event_start_mark,event_end_mark)
-//    (memset(&(event), 0, sizeof(yaml_event_t)),
-//     (event).type = (event_type),
-//     (event).start_mark = (event_start_mark),
-//     (event).end_mark = (event_end_mark))
-//
-
-//#define DOCUMENT_END_EVENT_INIT(event,event_implicit,start_mark,end_mark)
-//    (EVENT_INIT((event),YAML_DOCUMENT_END_EVENT,(start_mark),(end_mark)),
-//     (event).data.document_end.implicit = (event_implicit))
-//
-//#define ALIAS_EVENT_INIT(event,event_anchor,start_mark,end_mark)
-//    (EVENT_INIT((event),YAML_ALIAS_EVENT,(start_mark),(end_mark)),
-//     (event).data.alias.anchor = (event_anchor))
-//
-//#define SCALAR_EVENT_INIT(event,event_anchor,event_tag,event_value,event_length,
-//        event_plain_implicit, event_quoted_implicit,event_style,start_mark,end_mark)
-//    (EVENT_INIT((event),YAML_SCALAR_EVENT,(start_mark),(end_mark)),
-//     (event).data.scalar.anchor = (event_anchor),
-//     (event).data.scalar.tag = (event_tag),
-//     (event).data.scalar.value = (event_value),
-//     (event).data.scalar.length = (event_length),
-//     (event).data.scalar.plain_implicit = (event_plain_implicit),
-//     (event).data.scalar.quoted_implicit = (event_quoted_implicit),
-//     (event).data.scalar.style = (event_style))
-//
-//#define SEQUENCE_START_EVENT_INIT(event,event_anchor,event_tag,
-//        event_implicit,event_style,start_mark,end_mark)
-//    (EVENT_INIT((event),YAML_SEQUENCE_START_EVENT,(start_mark),(end_mark)),
-//     (event).data.sequence_start.anchor = (event_anchor),
-//     (event).data.sequence_start.tag = (event_tag),
-//     (event).data.sequence_start.implicit = (event_implicit),
-//     (event).data.sequence_start.style = (event_style))
-//
-//#define SEQUENCE_END_EVENT_INIT(event,start_mark,end_mark)
-//    (EVENT_INIT((event),YAML_SEQUENCE_END_EVENT,(start_mark),(end_mark)))
-//
-//#define MAPPING_START_EVENT_INIT(event,event_anchor,event_tag,
-//        event_implicit,event_style,start_mark,end_mark)
-//    (EVENT_INIT((event),YAML_MAPPING_START_EVENT,(start_mark),(end_mark)),
-//     (event).data.mapping_start.anchor = (event_anchor),
-//     (event).data.mapping_start.tag = (event_tag),
-//     (event).data.mapping_start.implicit = (event_implicit),
-//     (event).data.mapping_start.style = (event_style))
-//
-//#define MAPPING_END_EVENT_INIT(event,start_mark,end_mark)
-//    (EVENT_INIT((event),YAML_MAPPING_END_EVENT,(start_mark),(end_mark)))
-//
-///*
-// * Document initializer.
-// */
-//
-//#define DOCUMENT_INIT(document,document_nodes_start,document_nodes_end,
-//        document_version_directive,document_tag_directives_start,
-//        document_tag_directives_end,document_start_implicit,
-//        document_end_implicit,document_start_mark,document_end_mark)
-//    (memset(&(document), 0, sizeof(yaml_document_t)),
-//     (document).nodes.start = (document_nodes_start),
-//     (document).nodes.end = (document_nodes_end),
-//     (document).nodes.top = (document_nodes_start),
-//     (document).version_directive = (document_version_directive),
-//     (document).tag_directives.start = (document_tag_directives_start),
-//     (document).tag_directives.end = (document_tag_directives_end),
-//     (document).start_implicit = (document_start_implicit),
-//     (document).end_implicit = (document_end_implicit),
-//     (document).start_mark = (document_start_mark),
-//     (document).end_mark = (document_end_mark))
-//
-///*
-// * Node initializers.
-// */
-//
-//#define NODE_INIT(node,node_type,node_tag,node_start_mark,node_end_mark)
-//    (memset(&(node), 0, sizeof(yaml_node_t)),
-//     (node).type = (node_type),
-//     (node).tag = (node_tag),
-//     (node).start_mark = (node_start_mark),
-//     (node).end_mark = (node_end_mark))
-//
-//#define SCALAR_NODE_INIT(node,node_tag,node_value,node_length,
-//        node_style,start_mark,end_mark)
-//    (NODE_INIT((node),YAML_SCALAR_NODE,(node_tag),(start_mark),(end_mark)),
-//     (node).data.scalar.value = (node_value),
-//     (node).data.scalar.length = (node_length),
-//     (node).data.scalar.style = (node_style))
-//
-//#define SEQUENCE_NODE_INIT(node,node_tag,node_items_start,node_items_end,
-//        node_style,start_mark,end_mark)
-//    (NODE_INIT((node),YAML_SEQUENCE_NODE,(node_tag),(start_mark),(end_mark)),
-//     (node).data.sequence.items.start = (node_items_start),
-//     (node).data.sequence.items.end = (node_items_end),
-//     (node).data.sequence.items.top = (node_items_start),
-//     (node).data.sequence.style = (node_style))
-//
-//#define MAPPING_NODE_INIT(node,node_tag,node_pairs_start,node_pairs_end,
-//        node_style,start_mark,end_mark)
-//    (NODE_INIT((node),YAML_MAPPING_NODE,(node_tag),(start_mark),(end_mark)),
-//     (node).data.mapping.pairs.start = (node_pairs_start),
-//     (node).data.mapping.pairs.end = (node_pairs_end),
-//     (node).data.mapping.pairs.top = (node_pairs_start),
-//     (node).data.mapping.style = (node_style))
-//
