add zobrist random table
extract random to separate header
extract printing to main.cpp
hpp
minor, before move groups to bits