added xOr, methods