clean version, still no pipelining