solved

Had to work through a lot of bugs with this one, got to learn a fair
amout of debug techniques.