aargh. should have done deriving Generic instead, dammit