faster with nibble byte lookup table