diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5555a23..81afa7a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,7 +2,7 @@
 
 *a,c,f,r,o*
 
-## [6.0.3] - 12.03.2025
+## [6.0.4] - 14.03.2025
 
 ### Added
 
diff --git a/src/EllieBot/EllieBot.csproj b/src/EllieBot/EllieBot.csproj
index aa41827..47e6567 100644
--- a/src/EllieBot/EllieBot.csproj
+++ b/src/EllieBot/EllieBot.csproj
@@ -4,7 +4,7 @@
         <Nullable>enable</Nullable>
         <ImplicitUsings>true</ImplicitUsings>
         <SatelliteResourceLanguages>en</SatelliteResourceLanguages>
-        <Version>6.0.3</Version>
+        <Version>6.0.4</Version>
 
         <!-- Output/build -->
         <RunWorkingDirectory>$(MSBuildProjectDirectory)</RunWorkingDirectory>
diff --git a/src/EllieBot/Modules/Administration/Mute/MuteService.cs b/src/EllieBot/Modules/Administration/Mute/MuteService.cs
index e328691..62cc216 100644
--- a/src/EllieBot/Modules/Administration/Mute/MuteService.cs
+++ b/src/EllieBot/Modules/Administration/Mute/MuteService.cs
@@ -15,7 +15,12 @@ public enum MuteType
 
 public class MuteService : IEService, IReadyExecutor
 {
-    public enum TimerType { Mute, Ban, AddRole }
+    public enum TimerType
+    {
+        Mute,
+        Ban,
+        AddRole
+    }
 
     private static readonly OverwritePermissions _denyOverwrite = new(addReactions: PermValue.Deny,
         sendMessages: PermValue.Deny,
@@ -57,12 +62,12 @@ public class MuteService : IEService, IReadyExecutor
             return;
 
         _ = Task.Run(() => _sender.Response(user)
-                                  .Embed(_sender.CreateEmbed(user?.GuildId)
-                                                .WithDescription($"You've been muted in {user.Guild} server")
-                                                .AddField("Mute Type", type.ToString())
-                                                .AddField("Moderator", mod.ToString())
-                                                .AddField("Reason", reason))
-                                  .SendAsync());
+            .Embed(_sender.CreateEmbed(user?.GuildId)
+                .WithDescription($"You've been muted in {user.Guild} server")
+                .AddField("Mute Type", type.ToString())
+                .AddField("Moderator", mod.ToString())
+                .AddField("Reason", reason))
+            .SendAsync());
     }
 
     private void OnUserUnmuted(
@@ -75,12 +80,12 @@ public class MuteService : IEService, IReadyExecutor
             return;
 
         _ = Task.Run(() => _sender.Response(user)
-                                  .Embed(_sender.CreateEmbed(user.GuildId)
-                                                .WithDescription($"You've been unmuted in {user.Guild} server")
-                                                .AddField("Unmute Type", type.ToString())
-                                                .AddField("Moderator", mod.ToString())
-                                                .AddField("Reason", reason))
-                                  .SendAsync());
+            .Embed(_sender.CreateEmbed(user.GuildId)
+                .WithDescription($"You've been unmuted in {user.Guild} server")
+                .AddField("Unmute Type", type.ToString())
+                .AddField("Moderator", mod.ToString())
+                .AddField("Reason", reason))
+            .SendAsync());
     }
 
     private Task Client_UserJoined(IGuildUser usr)
@@ -105,8 +110,8 @@ public class MuteService : IEService, IReadyExecutor
     {
         await using var uow = _db.GetDbContext();
         var config = uow.GetTable<GuildConfig>()
-                        .Where(x => x.GuildId == guildId)
-                        .FirstOrDefault();
+            .Where(x => x.GuildId == guildId)
+            .FirstOrDefault();
         config.MuteRoleName = name;
         _guildMuteRoles.AddOrUpdate(guildId, name, (_, _) => name);
         await uow.SaveChangesAsync();
@@ -121,8 +126,12 @@ public class MuteService : IEService, IReadyExecutor
         if (type == MuteType.All)
         {
             try
-            { await usr.ModifyAsync(x => x.Mute = true); }
-            catch { }
+            {
+                await usr.ModifyAsync(x => x.Mute = true);
+            }
+            catch
+            {
+            }
 
             var muteRole = await GetMuteRole(usr.Guild);
             if (!usr.RoleIds.Contains(muteRole.Id))
@@ -131,19 +140,19 @@ public class MuteService : IEService, IReadyExecutor
             await using (var uow = _db.GetDbContext())
             {
                 await uow.GetTable<MutedUserId>()
-                         .InsertOrUpdateAsync(() => new()
-                         {
-                             GuildId = usr.GuildId,
-                             UserId = usr.Id
-                         },
-                             (_) => new()
-                             {
-                             },
-                             () => new()
-                             {
-                                 GuildId = usr.GuildId,
-                                 UserId = usr.Id
-                             });
+                    .InsertOrUpdateAsync(() => new()
+                    {
+                        GuildId = usr.GuildId,
+                        UserId = usr.Id
+                    },
+                        (_) => new()
+                        {
+                        },
+                        () => new()
+                        {
+                            GuildId = usr.GuildId,
+                            UserId = usr.Id
+                        });
 
                 if (_mutedUsers.TryGetValue(usr.Guild.Id, out var muted))
                     muted.Add(usr.Id);
@@ -160,7 +169,9 @@ public class MuteService : IEService, IReadyExecutor
                 await usr.ModifyAsync(x => x.Mute = true);
                 UserMuted(usr, mod, MuteType.Voice, reason);
             }
-            catch { }
+            catch
+            {
+            }
         }
         else if (type == MuteType.Chat)
         {
@@ -183,12 +194,12 @@ public class MuteService : IEService, IReadyExecutor
             await using (var uow = _db.GetDbContext())
             {
                 await uow.GetTable<MutedUserId>()
-                         .Where(x => x.GuildId == guildId && x.UserId == usrId)
-                         .DeleteAsync();
+                    .Where(x => x.GuildId == guildId && x.UserId == usrId)
+                    .DeleteAsync();
 
                 await uow.GetTable<UnmuteTimer>()
-                         .Where(x => x.GuildId == guildId && x.UserId == usrId)
-                         .DeleteAsync();
+                    .Where(x => x.GuildId == guildId && x.UserId == usrId)
+                    .DeleteAsync();
 
                 if (_mutedUsers.TryGetValue(guildId, out var muted))
                     muted.TryRemove(usrId);
@@ -197,11 +208,17 @@ public class MuteService : IEService, IReadyExecutor
             if (usr is not null)
             {
                 try
-                { await usr.ModifyAsync(x => x.Mute = false); }
-                catch { }
+                {
+                    await usr.ModifyAsync(x => x.Mute = false);
+                }
+                catch
+                {
+                }
 
                 try
-                { await usr.RemoveRoleAsync(await GetMuteRole(usr.Guild)); }
+                {
+                    await usr.RemoveRoleAsync(await GetMuteRole(usr.Guild));
+                }
                 catch
                 {
                     /*ignore*/
@@ -240,7 +257,9 @@ public class MuteService : IEService, IReadyExecutor
         //if it doesn't exist, create it
         {
             try
-            { muteRole = await guild.CreateRoleAsync(muteRoleName, isMentionable: false); }
+            {
+                muteRole = await guild.CreateRoleAsync(muteRoleName, isMentionable: false);
+            }
             catch
             {
                 //if creations fails,  maybe the name is not correct, find default one, if doesn't work, create default one
@@ -282,12 +301,12 @@ public class MuteService : IEService, IReadyExecutor
         {
             var unmuteAt = DateTime.UtcNow + after;
             await uow.GetTable<UnmuteTimer>()
-                     .InsertAsync(() => new()
-                     {
-                         GuildId = user.GuildId,
-                         UserId = user.Id,
-                         UnmuteAt = unmuteAt
-                     });
+                .InsertAsync(() => new()
+                {
+                    GuildId = user.GuildId,
+                    UserId = user.Id,
+                    UnmuteAt = unmuteAt
+                });
         }
 
         StartUn_Timer(user.GuildId, user.Id, after, TimerType.Mute); // start the timer
@@ -305,12 +324,12 @@ public class MuteService : IEService, IReadyExecutor
         {
             var unbanAt = DateTime.UtcNow + after;
             await uow.GetTable<UnbanTimer>()
-                     .InsertAsync(() => new()
-                     {
-                         GuildId = guild.Id,
-                         UserId = userId,
-                         UnbanAt = unbanAt
-                     });
+                .InsertAsync(() => new()
+                {
+                    GuildId = guild.Id,
+                    UserId = userId,
+                    UnbanAt = unbanAt
+                });
         }
 
         StartUn_Timer(guild.Id, userId, after, TimerType.Ban); // start the timer
@@ -415,83 +434,80 @@ public class MuteService : IEService, IReadyExecutor
     {
         await using var uow = _db.GetDbContext();
         var configs = await uow.Set<GuildConfig>()
-                               .Where(x => Queries.GuildOnShard(x.GuildId, _shardData.TotalShards, _shardData.ShardId))
-                               .ToListAsyncLinqToDB();
+            .Where(x => Queries.GuildOnShard(x.GuildId, _shardData.TotalShards, _shardData.ShardId))
+            .ToListAsyncLinqToDB();
 
         _guildMuteRoles = configs.Where(c => !string.IsNullOrWhiteSpace(c.MuteRoleName))
-                                .ToDictionary(c => c.GuildId, c => c.MuteRoleName)
-                                .ToConcurrent();
+            .ToDictionary(c => c.GuildId, c => c.MuteRoleName)
+            .ToConcurrent();
 
         _mutedUsers = await uow.GetTable<MutedUserId>()
-                              .Where(x => Queries.GuildOnShard(x.GuildId, _shardData.TotalShards, _shardData.ShardId))
-                              .ToListAsyncLinqToDB()
-                              .Fmap(x => x.GroupBy(x => x.GuildId)
-                                               .ToDictionary(g => g.Key, g => new ConcurrentHashSet<ulong>(g.Select(x => x.UserId)))
-                                               .ToConcurrent());
+            .Where(x => Queries.GuildOnShard(x.GuildId, _shardData.TotalShards, _shardData.ShardId))
+            .ToListAsyncLinqToDB()
+            .Fmap(x => x.GroupBy(x => x.GuildId)
+                .ToDictionary(g => g.Key, g => new ConcurrentHashSet<ulong>(g.Select(x => x.UserId)))
+                .ToConcurrent());
 
         var max = TimeSpan.FromDays(49);
 
         var unmuteTimers = await uow.GetTable<UnmuteTimer>()
-                                    .Where(x => Queries.GuildOnShard(x.GuildId, _shardData.TotalShards, _shardData.ShardId))
-                                    .ToListAsyncLinqToDB();
+            .Where(x => Queries.GuildOnShard(x.GuildId, _shardData.TotalShards, _shardData.ShardId))
+            .ToListAsyncLinqToDB();
 
         var unbanTimers = await uow.GetTable<UnbanTimer>()
-                                    .Where(x => Queries.GuildOnShard(x.GuildId, _shardData.TotalShards, _shardData.ShardId))
-                                    .ToListAsyncLinqToDB();
+            .Where(x => Queries.GuildOnShard(x.GuildId, _shardData.TotalShards, _shardData.ShardId))
+            .ToListAsyncLinqToDB();
 
         var unroleTimers = await uow.GetTable<UnroleTimer>()
-                                    .Where(x => Queries.GuildOnShard(x.GuildId, _shardData.TotalShards, _shardData.ShardId))
-                                    .ToListAsyncLinqToDB();
+            .Where(x => Queries.GuildOnShard(x.GuildId, _shardData.TotalShards, _shardData.ShardId))
+            .ToListAsyncLinqToDB();
 
-        foreach (var conf in configs)
+        foreach (var x in unmuteTimers)
         {
-            foreach (var x in unmuteTimers)
+            TimeSpan after;
+            if (x.UnmuteAt - TimeSpan.FromMinutes(2) <= DateTime.UtcNow)
             {
-                TimeSpan after;
-                if (x.UnmuteAt - TimeSpan.FromMinutes(2) <= DateTime.UtcNow)
-                {
-                    after = TimeSpan.FromMinutes(2);
-                }
-                else
-                {
-                    var unmute = x.UnmuteAt - DateTime.UtcNow;
-                    after = unmute > max ? max : unmute;
-                }
-
-                StartUn_Timer(conf.GuildId, x.UserId, after, TimerType.Mute);
+                after = TimeSpan.FromMinutes(2);
+            }
+            else
+            {
+                var unmute = x.UnmuteAt - DateTime.UtcNow;
+                after = unmute > max ? max : unmute;
             }
 
-            foreach (var x in unbanTimers)
-            {
-                TimeSpan after;
-                if (x.UnbanAt - TimeSpan.FromMinutes(2) <= DateTime.UtcNow)
-                {
-                    after = TimeSpan.FromMinutes(2);
-                }
-                else
-                {
-                    var unban = x.UnbanAt - DateTime.UtcNow;
-                    after = unban > max ? max : unban;
-                }
+            StartUn_Timer(x.GuildId, x.UserId, after, TimerType.Mute);
+        }
 
-                StartUn_Timer(conf.GuildId, x.UserId, after, TimerType.Ban);
+        foreach (var x in unbanTimers)
+        {
+            TimeSpan after;
+            if (x.UnbanAt - TimeSpan.FromMinutes(2) <= DateTime.UtcNow)
+            {
+                after = TimeSpan.FromMinutes(2);
+            }
+            else
+            {
+                var unban = x.UnbanAt - DateTime.UtcNow;
+                after = unban > max ? max : unban;
             }
 
-            foreach (var x in unroleTimers)
-            {
-                TimeSpan after;
-                if (x.UnbanAt - TimeSpan.FromMinutes(2) <= DateTime.UtcNow)
-                {
-                    after = TimeSpan.FromMinutes(2);
-                }
-                else
-                {
-                    var unban = x.UnbanAt - DateTime.UtcNow;
-                    after = unban > max ? max : unban;
-                }
+            StartUn_Timer(x.GuildId, x.UserId, after, TimerType.Ban);
+        }
 
-                StartUn_Timer(conf.GuildId, x.UserId, after, TimerType.AddRole, x.RoleId);
+        foreach (var x in unroleTimers)
+        {
+            TimeSpan after;
+            if (x.UnbanAt - TimeSpan.FromMinutes(2) <= DateTime.UtcNow)
+            {
+                after = TimeSpan.FromMinutes(2);
             }
+            else
+            {
+                var unban = x.UnbanAt - DateTime.UtcNow;
+                after = unban > max ? max : unban;
+            }
+
+            StartUn_Timer(x.GuildId, x.UserId, after, TimerType.AddRole, x.RoleId);
         }
 
         _client.UserJoined += Client_UserJoined;
diff --git a/src/EllieBot/Modules/Administration/UserPunish/UserPunishCommands.cs b/src/EllieBot/Modules/Administration/UserPunish/UserPunishCommands.cs
index 745df25..fe0ed5f 100644
--- a/src/EllieBot/Modules/Administration/UserPunish/UserPunishCommands.cs
+++ b/src/EllieBot/Modules/Administration/UserPunish/UserPunishCommands.cs
@@ -716,8 +716,13 @@ public partial class Administration
             var banPrune = await _service.GetBanPruneAsync(ctx.Guild.Id) ?? 7;
             await ctx.Guild.AddBanAsync(user, banPrune, ("Softban | " + ctx.User + " | " + msg).TrimTo(512));
             try
-            { await ctx.Guild.RemoveBanAsync(user); }
-            catch { await ctx.Guild.RemoveBanAsync(user); }
+            {
+                await ctx.Guild.RemoveBanAsync(user); 
+            }
+            catch
+            {
+                
+            }
 
             var toSend = CreateEmbed()
                                 .WithOkColor()
diff --git a/src/EllieBot/Modules/Xp/common/XpTemplate.cs b/src/EllieBot/Modules/Xp/common/XpTemplate.cs
index 01a2a5f..d7c9765 100644
--- a/src/EllieBot/Modules/Xp/common/XpTemplate.cs
+++ b/src/EllieBot/Modules/Xp/common/XpTemplate.cs
@@ -119,7 +119,7 @@ public class XpTemplate
             Pos = new()
             {
                 X = 394,
-                Y = 35
+                Y = 40
             },
             Show = true
         }
diff --git a/src/EllieBot/_common/Impl/Localization.cs b/src/EllieBot/_common/Impl/Localization.cs
index 32d68be..ebeac17 100644
--- a/src/EllieBot/_common/Impl/Localization.cs
+++ b/src/EllieBot/_common/Impl/Localization.cs
@@ -12,7 +12,7 @@ public class Localization : ILocalization, IReadyExecutor, IEService
         JsonConvert.DeserializeObject<Dictionary<string, CommandData>>(
             File.ReadAllText("./strings/commands/commands.en-US.json"));
 
-    private ConcurrentDictionary<ulong, CultureInfo> _guildCultureInfos;
+    private ConcurrentDictionary<ulong, CultureInfo> _guildCultureInfos = [];
 
     public IDictionary<ulong, CultureInfo> GuildCultureInfos
         => _guildCultureInfos;
diff --git a/src/EllieBot/data/images.yml b/src/EllieBot/data/images.yml
index 6270858..f22704b 100644
--- a/src/EllieBot/data/images.yml
+++ b/src/EllieBot/data/images.yml
@@ -21,7 +21,7 @@ dice:
   - https://cdn.nadeko.bot/other/dice/8.png
   - https://cdn.nadeko.bot/other/dice/9.png
 xp:
-  bg: https://cdn.nadeko.bot/xp/bgs/v6.png
+  bg: https://cdn.nadeko.bot/other/xp/bg6_mini.png
 slots:
   emojis:
     - https://cdn.nadeko.bot/slots/10.png
diff --git a/src/EllieBot/data/xp_template.json b/src/EllieBot/data/xp_template.json
index e86598f..151a124 100644
--- a/src/EllieBot/data/xp_template.json
+++ b/src/EllieBot/data/xp_template.json
@@ -8,21 +8,21 @@
     "Name": {
       "Color": "ffffffff",
       "Show": true,
-      "FontSize": 50,
+      "FontSize": 25,
       "Pos": {
-        "X": 105,
-        "Y": 25
+        "X": 65,
+        "Y": 8
       }
     },
     "Icon": {
       "Show": true,
       "Pos": {
-        "X": 14,
-        "Y": 14
+        "X": 11,
+        "Y": 11
       },
       "Size": {
-        "X": 72,
-        "Y": 71
+        "X": 38,
+        "Y": 38
       }
     },
     "Level": {
@@ -47,26 +47,26 @@
       "Bar": {
         "Show": true,
         "Guild": {
-          "Color": "00000095",
+          "Color": "00000066",
           "PointA": {
-            "X": 282,
-            "Y": 248
+            "X": 202,
+            "Y": 66
           },
           "PointB": {
-            "X": 247,
-            "Y": 379
+            "X": 180,
+            "Y": 145
           },
-          "Length": 450,
+          "Length": 225,
           "Direction": 3
         }
       },
       "Guild": {
         "Color": "ffffffff",
         "Show": true,
-        "FontSize": 50,
+        "FontSize": 25,
         "Pos": {
-          "X": 490,
-          "Y": 313
+          "X": 330,
+          "Y": 104
         }
       }
     }
@@ -75,21 +75,21 @@
     "Icon": {
       "Show": true,
       "Pos": {
-        "X": 722,
-        "Y": 25
+        "X": 451,
+        "Y": 15
       },
       "Size": {
-        "X": 45,
-        "Y": 45
+        "X": 29,
+        "Y": 29
       }
     },
     "Name": {
       "Color": "ffffffff",
       "Show": true,
-      "FontSize": 35,
+      "FontSize": 20,
       "Pos": {
-        "X": 650,
-        "Y": 55
+        "X": 394,
+        "Y": 40
       }
     }
   }