added some freeing for error conditions