almost simplify but maybe not quite