more minimal
generalized
generalized again
done picking