we have to special case this? we can't generalise this?