modify functor template for sse2