All logic except for check and checkmate in place