added avx2 support