Still doesn't quite work right, but I figure I should push this before I accidentally make it worse