re-factor for better SSE support