25% faster, bugfix, down to 717us)