math is bad - char pointers give ~ -3ms