adding basic struct, list, rand, and makefile rules