Implement pawn promotion, it works