Finally, proper GError handling