More implementation on hueristic functions and checking for CHECK[MATE]. TODO heiristicY