diff --git a/mesecons_solarpanel/doc/solarpanel/preview.png b/mesecons_solarpanel/doc/solarpanel/preview.png
index ed78e651687e89da999887a9263cf230de7f043d..5b3ec68fec89af7556d8c7c2da6703afde933f10 100644
Binary files a/mesecons_solarpanel/doc/solarpanel/preview.png and b/mesecons_solarpanel/doc/solarpanel/preview.png differ
diff --git a/mesecons_solarpanel/doc/solarpanel/recipe.png b/mesecons_solarpanel/doc/solarpanel/recipe.png
index d0f39641b8afd2941bd63a6c46a22f4bb4b66f51..93ec873d797ea99359d7a51ab21ed064277a6a52 100644
Binary files a/mesecons_solarpanel/doc/solarpanel/recipe.png and b/mesecons_solarpanel/doc/solarpanel/recipe.png differ
diff --git a/mesecons_solarpanel/init.lua b/mesecons_solarpanel/init.lua
index 861fbcd103a3066b700f901288245835f511197a..dc0b8a4ed1cdf53102975b52be22490ceaded056 100644
--- a/mesecons_solarpanel/init.lua
+++ b/mesecons_solarpanel/init.lua
@@ -1,98 +1,60 @@
 -- Solar Panel
-minetest.register_node("mesecons_solarpanel:solar_panel_on", {
+mesecon.register_node("mesecons_solarpanel:solar_panel", {
+	description = "Solar Panel",
 	drawtype = "nodebox",
-	tiles = { "jeija_solar_panel.png", },
-	inventory_image = "jeija_solar_panel.png",
-	wield_image = "jeija_solar_panel.png",
+	tiles = {"mesecons_solarpanel.png"},
+	inventory_image = "mesecons_solarpanel.png",
+	wield_image = "mesecons_solarpanel.png",
 	paramtype = "light",
 	paramtype2 = "wallmounted",
 	walkable = false,
 	is_ground_content = false,
 	node_box = {
 		type = "wallmounted",
-		wall_bottom = { -7/16, -8/16, -7/16,  7/16, -7/16, 7/16 },
-		wall_top    = { -7/16,  7/16, -7/16,  7/16,  8/16, 7/16 },
-		wall_side   = { -8/16, -7/16, -7/16, -7/16,  7/16, 7/16 },
-	},
-	selection_box = {
-		type = "wallmounted",
-		wall_bottom = { -7/16, -8/16, -7/16,  7/16, -7/16, 7/16 },
-		wall_top    = { -7/16,  7/16, -7/16,  7/16,  8/16, 7/16 },
-		wall_side   = { -8/16, -7/16, -7/16, -7/16,  7/16, 7/16 },
+		wall_bottom = {-7/16, -8/16, -7/16,  7/16, -7/16, 7/16},
+		wall_top    = {-7/16,  7/16, -7/16,  7/16,  8/16, 7/16},
+		wall_side   = {-8/16, -7/16, -7/16, -7/16,  7/16, 7/16},
 	},
-	drop = "mesecons_solarpanel:solar_panel_off",
-	groups = {dig_immediate=3, not_in_creative_inventory = 1},
 	sounds = default.node_sound_glass_defaults(),
-	mesecons = {receptor = {
-		state = mesecon.state.on,
-		rules = mesecon.rules.wallmounted_get,
-	}},
 	on_blast = mesecon.on_blastnode,
-})
-
--- Solar Panel
-minetest.register_node("mesecons_solarpanel:solar_panel_off", {
-	drawtype = "nodebox",
-	tiles = { "jeija_solar_panel.png", },
-	inventory_image = "jeija_solar_panel.png",
-	wield_image = "jeija_solar_panel.png",
-	paramtype = "light",
-	paramtype2 = "wallmounted",
-	walkable = false,
-	is_ground_content = false,
-	node_box = {
-		type = "wallmounted",
-		wall_bottom = { -7/16, -8/16, -7/16,  7/16, -7/16, 7/16 },
-		wall_top    = { -7/16,  7/16, -7/16,  7/16,  8/16, 7/16 },
-		wall_side   = { -8/16, -7/16, -7/16, -7/16,  7/16, 7/16 },
-	},
-	selection_box = {
-		type = "wallmounted",
-		wall_bottom = { -7/16, -8/16, -7/16,  7/16, -7/16, 7/16 },
-		wall_top    = { -7/16,  7/16, -7/16,  7/16,  8/16, 7/16 },
-		wall_side   = { -8/16, -7/16, -7/16, -7/16,  7/16, 7/16 },
-	},
-	groups = {dig_immediate=3},
-	description = "Solar Panel",
-	sounds = default.node_sound_glass_defaults(),
+},{
+	groups = {dig_immediate = 3},
 	mesecons = {receptor = {
 		state = mesecon.state.off,
-		rules = mesecon.rules.wallmounted_get,
+		rules = mesecon.rules.wallmounted_get
+	}}
+},{
+	groups = {dig_immediate = 3, not_in_creative_inventory = 1},
+	mesecons = {receptor = {
+		state = mesecon.state.on,
+		rules = mesecon.rules.wallmounted_get
 	}},
-	on_blast = mesecon.on_blastnode,
 })
 
 minetest.register_craft({
-	output = "mesecons_solarpanel:solar_panel_off 1",
+	output = "mesecons_solarpanel:solar_panel_off",
 	recipe = {
 		{"mesecons_materials:silicon", "mesecons_materials:silicon"},
 		{"mesecons_materials:silicon", "mesecons_materials:silicon"},
 	}
 })
 
-minetest.register_abm(
-	{nodenames = {"mesecons_solarpanel:solar_panel_off"},
+minetest.register_abm({
+	label = "Solar Panel On/Off",
+	nodenames = {
+		"mesecons_solarpanel:solar_panel_off",
+		"mesecons_solarpanel:solar_panel_on"
+	},
 	interval = 1,
 	chance = 1,
+	catch_up = false,
 	action = function(pos, node)
 		local light = minetest.get_node_light(pos)
-
-		if light >= 12 then
+		if light >= 12 and node.name == "mesecons_solarpanel:solar_panel_off" then
 			node.name = "mesecons_solarpanel:solar_panel_on"
 			minetest.swap_node(pos, node)
 			mesecon.receptor_on(pos, mesecon.rules.wallmounted_get(node))
-		end
-	end,
-})
-
-minetest.register_abm(
-	{nodenames = {"mesecons_solarpanel:solar_panel_on"},
-	interval = 1,
-	chance = 1,
-	action = function(pos, node)
-		local light = minetest.get_node_light(pos)
-
-		if light < 12 then
+		elseif light < 12 and node.name == "mesecons_solarpanel:solar_panel_on" then
 			node.name = "mesecons_solarpanel:solar_panel_off"
 			minetest.swap_node(pos, node)
 			mesecon.receptor_off(pos, mesecon.rules.wallmounted_get(node))
diff --git a/mesecons_solarpanel/textures/jeija_solar_panel.png b/mesecons_solarpanel/textures/jeija_solar_panel.png
deleted file mode 100644
index d2f80fe94bd00f5df29e3e038ebd1d77cdf463e0..0000000000000000000000000000000000000000
Binary files a/mesecons_solarpanel/textures/jeija_solar_panel.png and /dev/null differ
diff --git a/mesecons_solarpanel/textures/mesecons_solarpanel.png b/mesecons_solarpanel/textures/mesecons_solarpanel.png
new file mode 100644
index 0000000000000000000000000000000000000000..8482ee1fa7c5f94556d8e14f517eddf1b1581ed7
Binary files /dev/null and b/mesecons_solarpanel/textures/mesecons_solarpanel.png differ