use FREE instead of free as pointer to the destructor function.