public boolean handleMove(int x, int y)
    {
        //Get where karel wants to move
        int newX = x + karel.GetX();
        int newY = y + karel.GetY();
        
        if (karel.isWallCollision(newX, newY, walls))
        {
            //collided with wall - do not move karel
            return true; // returning an error
        }
        else
        {
            //move karel
            karel.move(x, y);
        }
        repaint();
        if (karel.isHomeCollision(karel.GetX(),karel.GetY(),Home))
        {
            //if karel is home and all gems are taken, move and end game
            if(gems.isEmpty())
            {
                isRunning = false;
                playVictoryMusic();
                infoBox("You have won!", "Congratulations!");
                worldDeleter();
                initWorld();
            }
        }
        return false; // no error
    }