@Override
	public void onCommand(CommandSender sender, Command cmd, String label, String[] arguments)
			throws ConsoleOnlyException, InsufficientPermissionException, NotEnoughArgumentsException, PlayerOnlyException, TooManyArgumentsException
	{
		
		if(arguments[0].equalsIgnoreCase("reload"))
		{
			
			sender.sendMessage(ChunkyTransactions.getInstance().getMessage().formatMessageForChat("Reloading"));
			ChunkyTransactions.getInstance().setConfigration(new ConfigurationManager());
			
		}
		else if(arguments[0].equalsIgnoreCase("help"))
		{
			
			if(arguments.length == 1)
			{

				sender.sendMessage(ChunkyTransactions.getInstance().getMessage().formatMessageForChat("Syntax: <Command Name> : <Command> : <Help>"));
				sender.sendMessage(ChunkyTransactions.getInstance().getMessage().formatMessageForChat("To get more info about a command do /" + this.getCommand() + " help <command you wnat to know more about>"));
				
				for(BaseCommand command : ChunkyTransactions.getInstance().getCommandManager().getCommands())
				{
					
					sender.sendMessage(ChunkyTransactions.getInstance().getMessage().formatMessageForChat(command.getName() + " : " + command.getCommand() + " : " + command.getHelp()));
					
				}
				
			}
			
			if(arguments.length == 2)
			{
				
				sender.sendMessage(ChunkyTransactions.getInstance().getMessage().formatMessageForChat("Looking up command: " + arguments[1]));
				try
				{
					
					BaseCommand requestedCommand = ChunkyTransactions.getInstance().getCommandManager().getCommand(arguments[1], sender.getName());
					sender.sendMessage(ChunkyTransactions.getInstance().getMessage().formatMessageForChat("Name: " + requestedCommand.getName()));
					sender.sendMessage(ChunkyTransactions.getInstance().getMessage().formatMessageForChat("Command: " + requestedCommand.getCommand()));
					sender.sendMessage(ChunkyTransactions.getInstance().getMessage().formatMessageForChat("Help: " + requestedCommand.getHelp()));
					sender.sendMessage(ChunkyTransactions.getInstance().getMessage().formatMessageForChat("Usage: " + requestedCommand.getUsage()));
					sender.sendMessage(ChunkyTransactions.getInstance().getMessage().formatMessageForChat("Permission: " + requestedCommand.getPermission()));
					
				}
				catch (UnknownCommandException e)
				{
				
					sender.sendMessage(ChunkyTransactions.getInstance().getMessage().formatErrorForChat("I'm sorry but the requested command: " + arguments[1] + " does not exist!"));
					if(ChunkyTransactions.getInstance().getConfiguration().isDebug())
					{

						ChunkyTransactions.getInstance().getMessage().spitError(e);
						
					}
				
				}
				
			}
			
		}
		
	}