diff --git a/src/sample.py b/src/sample.py
index 5a76f91..86ab8a3 100755
--- a/src/sample.py
+++ b/src/sample.py
@@ -4,6 +4,7 @@
 from __future__ import print_function
 import sys
 from gi.repository import HarfBuzz as hb
+from gi.repository import GLib
 
 # Python 2/3 compatibility
 try:
@@ -17,25 +18,23 @@
 	else:
 		return s
 
-
-def nothing(data):
-	print(data)
-
 fontdata = open (sys.argv[1], 'rb').read ()
-
-blob = hb.blob_create (fontdata, hb.memory_mode_t.DUPLICATE, 1234, None)
-buf = hb.buffer_create ()
-hb.buffer_add_utf8 (buf, tounicode("Hello بهداد").encode('utf-8'), 0, -1)
-hb.buffer_guess_segment_properties (buf)
-
+blob = hb.glib_blob_create (GLib.Bytes.new (fontdata))
 face = hb.face_create (blob, 0)
+del blob
 font = hb.font_create (face)
 upem = hb.face_get_upem (face)
+del face
 hb.font_set_scale (font, upem, upem)
 #hb.ft_font_set_funcs (font)
 hb.ot_font_set_funcs (font)
 
+buf = hb.buffer_create ()
+hb.buffer_add_utf8 (buf, tounicode("Hello بهداد").encode('utf-8'), 0, -1)
+hb.buffer_guess_segment_properties (buf)
+
 hb.shape (font, buf, [])
+del font
 
 infos = hb.buffer_get_glyph_infos (buf)
 positions = hb.buffer_get_glyph_positions (buf)
