Rebuild structure, add GTest, add random.h