dissect - actually, let's make it generic