distinguish between 0 and 1 factors
make repr canonical