add minimal tests, async option to prepare for SSE