public static void getProfInfo(CommandSender sender,String prof,Professions plugin) throws Exception {
        
        prof = prof.toLowerCase();
        Player p = (Player) sender;        
        
        /*
         * Output sexy messages...
         */
        if ( plugin.getConfig().getString("profs." + prof) != null ) {
            
            /*
             * Parse player data:
             */
            File file = new File("./plugins/professions/data/" + p.getPlayerListName() + ".xml");
            DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
            Document doc = builder.parse(file);
            NodeList nodes = doc.getElementsByTagName("prof");
        
            p.sendMessage(ChatColor.GREEN + "================= ..::" + ChatColor.WHITE + "Professions Info" + ChatColor.GREEN + "::.. =================");
            
            if ( nodes.getLength() != 0 ) {
                for ( int i = 0; i < nodes.getLength(); ) {
                    Node n = nodes.item(i);
                    Element v = (Element) n;
                    String j = v.getAttribute("name").toLowerCase();
                    
                    if ( j.equals(prof) ) {
                        p.sendMessage(ChatColor.DARK_AQUA + prof.toUpperCase() + "  ::  " + ChatColor.GREEN + "Employed" + ChatColor.DARK_AQUA + "  ::  BASE PAY: " + ChatColor.WHITE + plugin.getConfig().getString("profs." + prof + ".basepay"));
                        p.sendMessage(ChatColor.DARK_AQUA + "LEVEL: " + ChatColor.WHITE + v.getAttribute("level") + ChatColor.DARK_AQUA + "   ::  XP: " + ChatColor.WHITE + v.getAttribute("exp"));
                        
                        // Experience calculations:
                        int Level = Integer.parseInt( v.getAttribute("level") );
                        int Exp = Integer.parseInt( v.getAttribute("exp") );
                        int xpTop = (50 /3 * ( Level^3 - ( 6*Level^2 ) + 17*Level-12 ) + 8) / 11;
                        double perTop = (float)100 / xpTop;
                        double xpCur = (double) (perTop * Exp);
                        
                        Integer cBars = (int) Math.ceil( ((xpCur / 10) * 2) );
                        String gdBars = "";
                        for ( Integer x = 0; x < cBars; x = x + 1 ) {
                            gdBars = gdBars + "=";
                        }
                        
                        Integer oBars = 20 - cBars;
                        String odBars = "";
                        for ( Integer y = 0; y < oBars; y = y + 1 ) {
                            odBars = odBars + "=";
                        }
                        
                        String progress = ChatColor.YELLOW + "LVL PROGRESS: " + xpCur + "% " + ChatColor.YELLOW + "{" + ChatColor.RED + gdBars + ChatColor.WHITE + odBars + ChatColor.YELLOW + "}";
                        p.sendMessage(progress);
                
                        p.sendMessage("");
                        prepareProfInfo(p, prof, plugin); // Output job details
                        break;
                    } 
                }
            } else {
                p.sendMessage(ChatColor.DARK_AQUA + prof.toUpperCase() + "  ::  " + ChatColor.RED + "Unemployed" + ChatColor.DARK_AQUA + "  ::  BASE PAY: " + ChatColor.WHITE + plugin.getConfig().getString("profs." + prof + ".basepay"));
                p.sendMessage(ChatColor.DARK_AQUA + "Type '/prof join " + prof + "' to join this job.");
                p.sendMessage("");
                prepareProfInfo(p, prof, plugin); // Output job details
            }
                
            p.sendMessage(ChatColor.GREEN + "====================================================");
          
        } else {
            p.sendMessage(ChatColor.RED + "Invalid job entered.");
            p.sendMessage(ChatColor.RED + "Type '/prof list' for a list of available jobs.");
        }
                
    }