added signed_permutations