This solution has a lot of places where you can error by not catching edge cases. the main thing i wanted to do was try and find all the places it could possibly error. i check to see if maybe all the elements i'm removing is at the beginning. then i traverse through the rest of the linked list always checking what is at my current pointer .next. that saves me from having two pointers