implements Xorshift