                 
                 for index in 0..<aboveCards.count {
                     let tempCard = nodeFromCard(aboveCards[index]);
-                    let tempCardYOffset = CGFloat(-(cardConstants.CARD_CASCADE_OFFSET * index));
-                    print(tempCardYOffset);
+                    let tempCardYOffset = CGFloat(-(cardConstants.CARD_CASCADE_OFFSET * index)) - (0.5 * solitaireScene.cardSize.height) + cardConstants.MOVING_Y_ADJUSTMENT;
                     
                     tempCard.position.y = location.y + tempCardYOffset;
                     tempCard.position.x = location.x

                        tempCardYPosition = cardBelowNode!.position.y - ((CGFloat(index) + 1) * CGFloat(self.cardConstants.CARD_CASCADE_OFFSET));
                        tempCardZPosition = cardBelowNode!.zPosition + CGFloat(index) + 1;
                    } else {
                        tempCardYPosition = self.solitaireScene.bottomRowYPos;
                        tempCardZPosition = 0;
                    }
                    

                }
            }
            
            print(newPile?.name);
            print(newPile);
            if newPile == nil {
                // If the new pile is not a valid position, move back to correct location
                moveCardsBack();
