changed operator^ to power, because the xor-operator has lower precedence than e.g. plus and wrong associativity (left to right) which would make it awkward to use with all the brackets to set)