- refactor into single file for all versions - improve timing, prevent non-deterministic failures - fix tests for i686-linux