/**** 
* Plugins
****/ 
var tween = LK.import("@upit/tween.v1");
/**** 
* Classes
****/ 
var RegularToy = Container.expand(function (toyType) {
	var self = Container.call(this);
	var toyGraphics = self.attachAsset(toyType, {
		anchorX: 0.5,
		anchorY: 0.5
	});
	self.isDragging = false;
	self.startX = 0;
	self.startY = 0;
	self.velocityX = 0;
	self.velocityY = 0;
	self.friction = 0.95;
	self.down = function (x, y, obj) {
		self.isDragging = true;
		self.startX = x;
		self.startY = y;
		self.velocityX = 0;
		self.velocityY = 0;
	};
	self.up = function (x, y, obj) {
		if (self.isDragging) {
			var deltaX = x - self.startX;
			var deltaY = y - self.startY;
			self.velocityX = deltaX * 0.3;
			self.velocityY = deltaY * 0.3;
			self.isDragging = false;
		}
	};
	self.update = function () {
		if (!self.isDragging) {
			self.x += self.velocityX;
			self.y += self.velocityY;
			self.velocityX *= self.friction;
			self.velocityY *= self.friction;
			// Check if toy is off screen
			if (self.x < -100 || self.x > 2148 || self.y < -100 || self.y > 2832) {
				self.markForRemoval = true;
			}
		}
	};
	return self;
});
var SpecialToy = Container.expand(function (toyType) {
	var self = Container.call(this);
	var toyGraphics = self.attachAsset(toyType, {
		anchorX: 0.5,
		anchorY: 0.5
	});
	self.toyType = toyType;
	self.isDragging = false;
	self.startX = 0;
	self.startY = 0;
	self.velocityX = 0;
	self.velocityY = 0;
	self.friction = 0.95;
	self.isAnimating = false;
	self.down = function (x, y, obj) {
		if (!self.isAnimating) {
			self.triggerSpecialEffect();
		}
		self.isDragging = true;
		self.startX = x;
		self.startY = y;
		self.velocityX = 0;
		self.velocityY = 0;
	};
	self.up = function (x, y, obj) {
		if (self.isDragging) {
			var deltaX = x - self.startX;
			var deltaY = y - self.startY;
			if (Math.abs(deltaX) > 20 || Math.abs(deltaY) > 20) {
				self.velocityX = deltaX * 0.3;
				self.velocityY = deltaY * 0.3;
			}
			self.isDragging = false;
		}
	};
	self.triggerSpecialEffect = function () {
		if (self.isAnimating) return;
		self.isAnimating = true;
		LK.setScore(LK.getScore() + 50);
		scoreTxt.setText(LK.getScore());
		if (self.toyType === 'gameController') {
			LK.getSound('beep').play();
			LK.effects.flashObject(self, 0x00FF00, 500);
		} else if (self.toyType === 'cuckooClock') {
			LK.getSound('cuckoo').play();
			tween(self, {
				scaleX: 1.3,
				scaleY: 1.3
			}, {
				duration: 300,
				easing: tween.easeOut
			});
			tween(self, {
				scaleX: 1,
				scaleY: 1
			}, {
				duration: 300,
				easing: tween.easeIn
			});
		} else if (self.toyType === 'toyTruck') {
			LK.getSound('truck').play();
			var originalX = self.x;
			tween(self, {
				x: self.x + 100
			}, {
				duration: 500,
				easing: tween.easeOut
			});
			tween(self, {
				x: originalX
			}, {
				duration: 500,
				easing: tween.easeIn
			});
		} else if (self.toyType === 'chatteringTeeth') {
			LK.getSound('chatter').play();
			for (var i = 0; i < 6; i++) {
				var delay = i * 100;
				setTimeout(function () {
					tween(self, {
						rotation: 0.2
					}, {
						duration: 50
					});
					tween(self, {
						rotation: -0.2
					}, {
						duration: 50
					});
					tween(self, {
						rotation: 0
					}, {
						duration: 50
					});
				}, delay);
			}
		}
		setTimeout(function () {
			self.isAnimating = false;
		}, 1000);
	};
	self.update = function () {
		if (!self.isDragging && !self.isAnimating) {
			self.x += self.velocityX;
			self.y += self.velocityY;
			self.velocityX *= self.friction;
			self.velocityY *= self.friction;
			// Check if toy is off screen
			if (self.x < -100 || self.x > 2148 || self.y < -100 || self.y > 2832) {
				self.markForRemoval = true;
			}
		}
	};
	return self;
});
/**** 
* Initialize Game
****/ 
var game = new LK.Game({
	backgroundColor: 0xFFB6C1
});
/**** 
* Game Code
****/ 
var regularToys = [];
var specialToys = [];
var draggedToy = null;
var level = 1;
var toysCleared = 0;
var totalToysInLevel = 15;
// Create toy box background
var toyBoxBg = game.addChild(LK.getAsset('toyBox', {
	anchorX: 0.5,
	anchorY: 0.5,
	x: 1024,
	y: 1366
}));
// Create score display
var scoreTxt = new Text2('Score: 0', {
	size: 80,
	fill: 0xFFFFFF
});
scoreTxt.anchor.set(0, 0);
LK.gui.topRight.addChild(scoreTxt);
scoreTxt.x = -300;
scoreTxt.y = 50;
// Create level display
var levelTxt = new Text2('Level: 1', {
	size: 60,
	fill: 0xFFFFFF
});
levelTxt.anchor.set(0, 0);
LK.gui.topLeft.addChild(levelTxt);
levelTxt.x = 120;
levelTxt.y = 50;
// Create progress display
var progressTxt = new Text2('Toys Left: ' + totalToysInLevel, {
	size: 50,
	fill: 0xFFFFFF
});
progressTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(progressTxt);
progressTxt.y = 120;
function createRegularToy() {
	var toyTypes = ['regularToy1', 'regularToy2', 'regularToy3', 'regularToy4'];
	var randomType = toyTypes[Math.floor(Math.random() * toyTypes.length)];
	var toy = new RegularToy(randomType);
	// Random position within toy box area
	toy.x = 400 + Math.random() * 1200;
	toy.y = 700 + Math.random() * 1000;
	regularToys.push(toy);
	game.addChild(toy);
}
function createSpecialToy() {
	var specialTypes = ['gameController', 'cuckooClock', 'toyTruck', 'chatteringTeeth'];
	var randomType = specialTypes[Math.floor(Math.random() * specialTypes.length)];
	var toy = new SpecialToy(randomType);
	// Random position within toy box area
	toy.x = 400 + Math.random() * 1200;
	toy.y = 700 + Math.random() * 1000;
	specialToys.push(toy);
	game.addChild(toy);
}
function initializeLevel() {
	// Clear existing toys
	for (var i = regularToys.length - 1; i >= 0; i--) {
		regularToys[i].destroy();
	}
	for (var i = specialToys.length - 1; i >= 0; i--) {
		specialToys[i].destroy();
	}
	regularToys = [];
	specialToys = [];
	toysCleared = 0;
	totalToysInLevel = 12 + level * 3;
	// Create regular toys (70% of total)
	var regularCount = Math.floor(totalToysInLevel * 0.7);
	for (var i = 0; i < regularCount; i++) {
		createRegularToy();
	}
	// Create special toys (30% of total)
	var specialCount = totalToysInLevel - regularCount;
	for (var i = 0; i < specialCount; i++) {
		createSpecialToy();
	}
	levelTxt.setText('Level: ' + level);
	progressTxt.setText('Toys Left: ' + totalToysInLevel);
}
game.move = function (x, y, obj) {
	if (draggedToy && draggedToy.isDragging) {
		draggedToy.x = x;
		draggedToy.y = y;
	}
};
game.down = function (x, y, obj) {
	// Find the topmost toy at this position
	var allToys = regularToys.concat(specialToys);
	for (var i = allToys.length - 1; i >= 0; i--) {
		var toy = allToys[i];
		var bounds = toy.getBounds();
		if (x >= bounds.x && x <= bounds.x + bounds.width && y >= bounds.y && y <= bounds.y + bounds.height) {
			draggedToy = toy;
			break;
		}
	}
};
game.up = function (x, y, obj) {
	draggedToy = null;
};
game.update = function () {
	// Update regular toys
	for (var i = regularToys.length - 1; i >= 0; i--) {
		var toy = regularToys[i];
		if (toy.markForRemoval) {
			toy.destroy();
			regularToys.splice(i, 1);
			toysCleared++;
			LK.setScore(LK.getScore() + 10);
			LK.getSound('clear').play();
		}
	}
	// Update special toys
	for (var i = specialToys.length - 1; i >= 0; i--) {
		var toy = specialToys[i];
		if (toy.markForRemoval) {
			toy.destroy();
			specialToys.splice(i, 1);
			toysCleared++;
			LK.setScore(LK.getScore() + 25);
			LK.getSound('clear').play();
		}
	}
	// Update UI
	scoreTxt.setText('Score: ' + LK.getScore());
	var toysLeft = totalToysInLevel - toysCleared;
	progressTxt.setText('Toys Left: ' + toysLeft);
	// Check level completion
	if (toysCleared >= totalToysInLevel) {
		level++;
		if (level > 5) {
			LK.showYouWin();
		} else {
			initializeLevel();
		}
	}
	// Spawn new toys occasionally to maintain challenge
	if (LK.ticks % 300 === 0 && regularToys.length + specialToys.length < totalToysInLevel) {
		if (Math.random() < 0.7) {
			createRegularToy();
		} else {
			createSpecialToy();
		}
	}
};
// Initialize first level
initializeLevel(); ===================================================================
--- original.js
+++ change.js
@@ -1,6 +1,328 @@
-/****
+/**** 
+* Plugins
+****/ 
+var tween = LK.import("@upit/tween.v1");
+
+/**** 
+* Classes
+****/ 
+var RegularToy = Container.expand(function (toyType) {
+	var self = Container.call(this);
+	var toyGraphics = self.attachAsset(toyType, {
+		anchorX: 0.5,
+		anchorY: 0.5
+	});
+	self.isDragging = false;
+	self.startX = 0;
+	self.startY = 0;
+	self.velocityX = 0;
+	self.velocityY = 0;
+	self.friction = 0.95;
+	self.down = function (x, y, obj) {
+		self.isDragging = true;
+		self.startX = x;
+		self.startY = y;
+		self.velocityX = 0;
+		self.velocityY = 0;
+	};
+	self.up = function (x, y, obj) {
+		if (self.isDragging) {
+			var deltaX = x - self.startX;
+			var deltaY = y - self.startY;
+			self.velocityX = deltaX * 0.3;
+			self.velocityY = deltaY * 0.3;
+			self.isDragging = false;
+		}
+	};
+	self.update = function () {
+		if (!self.isDragging) {
+			self.x += self.velocityX;
+			self.y += self.velocityY;
+			self.velocityX *= self.friction;
+			self.velocityY *= self.friction;
+			// Check if toy is off screen
+			if (self.x < -100 || self.x > 2148 || self.y < -100 || self.y > 2832) {
+				self.markForRemoval = true;
+			}
+		}
+	};
+	return self;
+});
+var SpecialToy = Container.expand(function (toyType) {
+	var self = Container.call(this);
+	var toyGraphics = self.attachAsset(toyType, {
+		anchorX: 0.5,
+		anchorY: 0.5
+	});
+	self.toyType = toyType;
+	self.isDragging = false;
+	self.startX = 0;
+	self.startY = 0;
+	self.velocityX = 0;
+	self.velocityY = 0;
+	self.friction = 0.95;
+	self.isAnimating = false;
+	self.down = function (x, y, obj) {
+		if (!self.isAnimating) {
+			self.triggerSpecialEffect();
+		}
+		self.isDragging = true;
+		self.startX = x;
+		self.startY = y;
+		self.velocityX = 0;
+		self.velocityY = 0;
+	};
+	self.up = function (x, y, obj) {
+		if (self.isDragging) {
+			var deltaX = x - self.startX;
+			var deltaY = y - self.startY;
+			if (Math.abs(deltaX) > 20 || Math.abs(deltaY) > 20) {
+				self.velocityX = deltaX * 0.3;
+				self.velocityY = deltaY * 0.3;
+			}
+			self.isDragging = false;
+		}
+	};
+	self.triggerSpecialEffect = function () {
+		if (self.isAnimating) return;
+		self.isAnimating = true;
+		LK.setScore(LK.getScore() + 50);
+		scoreTxt.setText(LK.getScore());
+		if (self.toyType === 'gameController') {
+			LK.getSound('beep').play();
+			LK.effects.flashObject(self, 0x00FF00, 500);
+		} else if (self.toyType === 'cuckooClock') {
+			LK.getSound('cuckoo').play();
+			tween(self, {
+				scaleX: 1.3,
+				scaleY: 1.3
+			}, {
+				duration: 300,
+				easing: tween.easeOut
+			});
+			tween(self, {
+				scaleX: 1,
+				scaleY: 1
+			}, {
+				duration: 300,
+				easing: tween.easeIn
+			});
+		} else if (self.toyType === 'toyTruck') {
+			LK.getSound('truck').play();
+			var originalX = self.x;
+			tween(self, {
+				x: self.x + 100
+			}, {
+				duration: 500,
+				easing: tween.easeOut
+			});
+			tween(self, {
+				x: originalX
+			}, {
+				duration: 500,
+				easing: tween.easeIn
+			});
+		} else if (self.toyType === 'chatteringTeeth') {
+			LK.getSound('chatter').play();
+			for (var i = 0; i < 6; i++) {
+				var delay = i * 100;
+				setTimeout(function () {
+					tween(self, {
+						rotation: 0.2
+					}, {
+						duration: 50
+					});
+					tween(self, {
+						rotation: -0.2
+					}, {
+						duration: 50
+					});
+					tween(self, {
+						rotation: 0
+					}, {
+						duration: 50
+					});
+				}, delay);
+			}
+		}
+		setTimeout(function () {
+			self.isAnimating = false;
+		}, 1000);
+	};
+	self.update = function () {
+		if (!self.isDragging && !self.isAnimating) {
+			self.x += self.velocityX;
+			self.y += self.velocityY;
+			self.velocityX *= self.friction;
+			self.velocityY *= self.friction;
+			// Check if toy is off screen
+			if (self.x < -100 || self.x > 2148 || self.y < -100 || self.y > 2832) {
+				self.markForRemoval = true;
+			}
+		}
+	};
+	return self;
+});
+
+/**** 
 * Initialize Game
-****/
+****/ 
 var game = new LK.Game({
-	backgroundColor: 0x000000
-});
\ No newline at end of file
+	backgroundColor: 0xFFB6C1
+});
+
+/**** 
+* Game Code
+****/ 
+var regularToys = [];
+var specialToys = [];
+var draggedToy = null;
+var level = 1;
+var toysCleared = 0;
+var totalToysInLevel = 15;
+// Create toy box background
+var toyBoxBg = game.addChild(LK.getAsset('toyBox', {
+	anchorX: 0.5,
+	anchorY: 0.5,
+	x: 1024,
+	y: 1366
+}));
+// Create score display
+var scoreTxt = new Text2('Score: 0', {
+	size: 80,
+	fill: 0xFFFFFF
+});
+scoreTxt.anchor.set(0, 0);
+LK.gui.topRight.addChild(scoreTxt);
+scoreTxt.x = -300;
+scoreTxt.y = 50;
+// Create level display
+var levelTxt = new Text2('Level: 1', {
+	size: 60,
+	fill: 0xFFFFFF
+});
+levelTxt.anchor.set(0, 0);
+LK.gui.topLeft.addChild(levelTxt);
+levelTxt.x = 120;
+levelTxt.y = 50;
+// Create progress display
+var progressTxt = new Text2('Toys Left: ' + totalToysInLevel, {
+	size: 50,
+	fill: 0xFFFFFF
+});
+progressTxt.anchor.set(0.5, 0);
+LK.gui.top.addChild(progressTxt);
+progressTxt.y = 120;
+function createRegularToy() {
+	var toyTypes = ['regularToy1', 'regularToy2', 'regularToy3', 'regularToy4'];
+	var randomType = toyTypes[Math.floor(Math.random() * toyTypes.length)];
+	var toy = new RegularToy(randomType);
+	// Random position within toy box area
+	toy.x = 400 + Math.random() * 1200;
+	toy.y = 700 + Math.random() * 1000;
+	regularToys.push(toy);
+	game.addChild(toy);
+}
+function createSpecialToy() {
+	var specialTypes = ['gameController', 'cuckooClock', 'toyTruck', 'chatteringTeeth'];
+	var randomType = specialTypes[Math.floor(Math.random() * specialTypes.length)];
+	var toy = new SpecialToy(randomType);
+	// Random position within toy box area
+	toy.x = 400 + Math.random() * 1200;
+	toy.y = 700 + Math.random() * 1000;
+	specialToys.push(toy);
+	game.addChild(toy);
+}
+function initializeLevel() {
+	// Clear existing toys
+	for (var i = regularToys.length - 1; i >= 0; i--) {
+		regularToys[i].destroy();
+	}
+	for (var i = specialToys.length - 1; i >= 0; i--) {
+		specialToys[i].destroy();
+	}
+	regularToys = [];
+	specialToys = [];
+	toysCleared = 0;
+	totalToysInLevel = 12 + level * 3;
+	// Create regular toys (70% of total)
+	var regularCount = Math.floor(totalToysInLevel * 0.7);
+	for (var i = 0; i < regularCount; i++) {
+		createRegularToy();
+	}
+	// Create special toys (30% of total)
+	var specialCount = totalToysInLevel - regularCount;
+	for (var i = 0; i < specialCount; i++) {
+		createSpecialToy();
+	}
+	levelTxt.setText('Level: ' + level);
+	progressTxt.setText('Toys Left: ' + totalToysInLevel);
+}
+game.move = function (x, y, obj) {
+	if (draggedToy && draggedToy.isDragging) {
+		draggedToy.x = x;
+		draggedToy.y = y;
+	}
+};
+game.down = function (x, y, obj) {
+	// Find the topmost toy at this position
+	var allToys = regularToys.concat(specialToys);
+	for (var i = allToys.length - 1; i >= 0; i--) {
+		var toy = allToys[i];
+		var bounds = toy.getBounds();
+		if (x >= bounds.x && x <= bounds.x + bounds.width && y >= bounds.y && y <= bounds.y + bounds.height) {
+			draggedToy = toy;
+			break;
+		}
+	}
+};
+game.up = function (x, y, obj) {
+	draggedToy = null;
+};
+game.update = function () {
+	// Update regular toys
+	for (var i = regularToys.length - 1; i >= 0; i--) {
+		var toy = regularToys[i];
+		if (toy.markForRemoval) {
+			toy.destroy();
+			regularToys.splice(i, 1);
+			toysCleared++;
+			LK.setScore(LK.getScore() + 10);
+			LK.getSound('clear').play();
+		}
+	}
+	// Update special toys
+	for (var i = specialToys.length - 1; i >= 0; i--) {
+		var toy = specialToys[i];
+		if (toy.markForRemoval) {
+			toy.destroy();
+			specialToys.splice(i, 1);
+			toysCleared++;
+			LK.setScore(LK.getScore() + 25);
+			LK.getSound('clear').play();
+		}
+	}
+	// Update UI
+	scoreTxt.setText('Score: ' + LK.getScore());
+	var toysLeft = totalToysInLevel - toysCleared;
+	progressTxt.setText('Toys Left: ' + toysLeft);
+	// Check level completion
+	if (toysCleared >= totalToysInLevel) {
+		level++;
+		if (level > 5) {
+			LK.showYouWin();
+		} else {
+			initializeLevel();
+		}
+	}
+	// Spawn new toys occasionally to maintain challenge
+	if (LK.ticks % 300 === 0 && regularToys.length + specialToys.length < totalToysInLevel) {
+		if (Math.random() < 0.7) {
+			createRegularToy();
+		} else {
+			createSpecialToy();
+		}
+	}
+};
+// Initialize first level
+initializeLevel();
\ No newline at end of file