Remove node doesn't need double pointer for the node.  The issue was in the head not being passed by a double pointer.