convert from vectors to pointers, introduce SSE