hopefully didn't break fixpoint