diff --git a/test/a.tbc b/test/a.tbc
new file mode 100644
index 0000000..c77446a
--- /dev/null
+++ b/test/a.tbc
@@ -0,0 +1,19 @@
+enter function_definition {
+	puts("ack");
+	puts(tbtext);
+}
+
+enter number_literal {
+	puts("++");
+}
+
+leave function_definition {
+	puts("ree");
+}
+
+%%
+// @BAKE g++ $@ $(pkg-config --cflags --libs tree-sitter tree-sitter-c) -ggdb
+
+signed main() {
+    tbtraverse("int main() { return 0; }");
+}
diff --git a/test/convert.tbsp b/test/convert.tbsp
new file mode 100644
index 0000000..1854c84
--- /dev/null
+++ b/test/convert.tbsp
@@ -0,0 +1,85 @@
+%top {
+	#include <stdio.h>
+
+	//#define TBDEBUG 1
+	#define print puts
+
+	int depth = 0;
+}
+%language markdown
+%%
+
+enter section {
+    depth += 1;
+}
+leave section {
+    depth -= 1;
+}
+
+enter atx_heading {
+    printf("<h%d>\n", depth);
+}
+leave atx_heading {
+    printf("</h%d>\n", depth);
+}
+
+enter paragraph {
+    print("<p>");
+}
+leave paragraph {
+    print("</p>\n");
+}
+
+enter list {
+    print("<ol>");
+}
+leave list {
+    print("</ol>\n");
+}
+
+enter list_item {
+    print("<li>");
+}
+leave list_item {
+    print("</li>\n");
+}
+
+enter fenced_code_block {
+    print("<pre>");
+}
+leave fenced_code_block {
+    print("</pre>\n");
+}
+
+enter inline {
+    print(tbtext);
+}
+enter code_fence_content {
+    print(tbtext);
+}
+
+%%
+// @BAKE g++ $@ $(pkg-config --cflags --libs tree-sitter) -ltree-sitter-markdown -ggdb
+
+signed main(int argc, char * * argv) {
+	FILE* f = fopen(argv[1], "r");
+
+	fseek(f, 0, SEEK_END);
+	int flen = ftell(f);
+	rewind(f);
+	char fstr[flen+1];
+	fstr[flen] = '\00';
+	fread(fstr, flen, sizeof(char), f);
+
+	fclose(f);
+
+	printf("-- meta: %d chars\n", flen);
+
+    print("<html>\n");
+    print("<body>\n");
+
+	tbtraverse(fstr);
+
+    print("</body>\n");
+    print("</html>\n");
+}
diff --git a/test/input.md b/test/input.md
new file mode 100644
index 0000000..acd46bd
--- /dev/null
+++ b/test/input.md
@@ -0,0 +1,12 @@
+# aaaaaaaaaaaaaa
+
+this is a list
++ asd
++ dasd
++ kasd
+
+```Python
+    print("test")
+```
+
+this **better** work