shuffle some files around, separate tests into different files to allow selective profiling and coverage measurement