add generate_random_7x4
complete overhaul