Is it a concern that we have "new" here (and below) and not "delete" in the end?  At least valgrind would report memory loss.