implemented metric
better case statement for piece size
eval of move
add valid_move_generator