handle form factorisation