diff --git a/powergamers.php b/powergamers.php
index 3d83882..dcd843f 100644
--- a/powergamers.php
+++ b/powergamers.php
@@ -1,70 +1,92 @@
 <?php
 require_once 'engine/init.php';
 include 'layout/overall/header.php'; 
-
 if (!$config['powergamers']['enabled']) {
 echo 'This page has been disabled at config.php.';
 include 'layout/overall/footer.php';
 	exit();
 }
-
-$limit = $config['powergamers']['limit'];
 ?>
-<style>
-#selectedP {
-text-decoration: underline
-}
-</style>
-	  <?php
-$type = $_GET['type'];
-
-function coloured_value($valuein)
-{
-	$value2 = $valuein;
-	while(strlen($value2) > 3)
-	{
-		$value .= '.'.substr($value2, -3, 3);
-		$value2 = substr($value2, 0, strlen($value2)-3);
+<div class="panel">
+<div class="page-header"><h3>Powergamers</h3></div>
+	<?php
+	$limit = $config['powergamers']['limit'];
+	$days = isset($_POST['days']);
+	$today = true;
+	if ($days) {
+		$selected = ($_POST['days']);
+		$days = $selected[1];
+		$vocation = $selected[0];
+		if ($days > 0)
+		$today = false;
+	} else {
+		$znotePlayers = mysql_select_multi('SELECT `a`.`id`, `b`.`player_id`, `a`.`name`, `a`.`vocation`, `a`.`level`, `a`.`group_id`, `a`.`experience`, `b`.`exphist_lastexp`, `b`.`exphist1`, `b`.`exphist2`, `b`.`exphist3`, `b`.`exphist4`, `b`.`exphist5`, `b`.`exphist6`, `b`.`exphist7`,   (`a`.`experience` - `b`.`exphist_lastexp`)  AS `expdiff` FROM `players` `a` JOIN `znote_players` `b` ON `a`.`id` = `b`.`player_id`  WHERE `a`.`group_id` < 2 ORDER BY `expdiff` DESC LIMIT '.$limit);
 	}
-	@$value = $value2.$value;
-	if($valuein > 0)
-		return '<b><font color="green">+'.$value.'</font></b>';
-	elseif($valuein < 0)
-		return '<font color="red">'.$value.'</font>';
-	else
-		return $value;
-}
+	$limit = $config['powergamers']['limit'];
 
-if(empty($type))
-	$znotePlayers = mysql_select_multi('SELECT `a`.`id`, `b`.`player_id`, `a`.`name`, `a`.`vocation`, `a`.`level`, `a`.`group_id`, `a`.`experience`, `b`.`exphist_lastexp`, `b`.`exphist1`, `b`.`exphist2`, `b`.`exphist3`, `b`.`exphist4`, `b`.`exphist5`, `b`.`exphist6`, `b`.`exphist7`,   (`a`.`experience` - `b`.`exphist_lastexp`)  AS `expdiff` FROM `players` `a` JOIN `znote_players` `b` ON `a`.`id` = `b`.`player_id`  WHERE `a`.`group_id` < 2 ORDER BY `expdiff` DESC LIMIT '.$limit);
-elseif($type >= 1 && $type <= 3)
-	$znotePlayers = mysql_select_multi('SELECT `a`.`id`, `b`.`player_id`, `a`.`name`, `a`.`vocation`, `a`.`level`, `a`.`group_id`, `a`.`experience`, `b`.`exphist_lastexp`, `b`.`exphist1`, `b`.`exphist2`, `b`.`exphist3`, `b`.`exphist4`, `b`.`exphist5`, `b`.`exphist6`, `b`.`exphist7`, (`a`.`experience` - `b`.`exphist_lastexp`) AS `expdiff` FROM `players` `a` JOIN `znote_players` `b` ON `a`.`id` = `b`.`player_id`  WHERE `a`.`group_id` < 2 ORDER BY `exphist' . (int) $type . '` DESC LIMIT '.$limit);
-echo '<CENTER><H2>Ranking of powergamers</H2></CENTER>
-<BR>
-<table class="table table-striped">
-		<td><center><b>#</b></center></td>
-		<td><b>Name</b></td>';
-echo '<td><center>Total</center></td>';
+	if(!empty($days) && !empty($vocation)) 
+		$znotePlayers = mysql_select_multi('SELECT `a`.`id`, `b`.`player_id`, `a`.`name`, `a`.`vocation`, `a`.`level`, `a`.`group_id`, `a`.`experience`, `b`.`exphist_lastexp`, `b`.`exphist1`, `b`.`exphist2`, `b`.`exphist3`, `b`.`exphist4`, `b`.`exphist5`, `b`.`exphist6`, `b`.`exphist7`, (`a`.`experience` - `b`.`exphist_lastexp`) AS `expdiff` FROM `players` `a` JOIN `znote_players` `b` ON `a`.`id` = `b`.`player_id`  WHERE `a`.`group_id` < 2 AND `a`.`vocation`='. (int)$vocation .' ORDER BY `exphist' . (int)$days . '` DESC LIMIT '.$limit);
+	elseif(empty($days) && !empty($vocation)) {
+		$znotePlayers = mysql_select_multi('SELECT `a`.`id`, `b`.`player_id`, `a`.`name`, `a`.`vocation`, `a`.`level`, `a`.`group_id`, `a`.`experience`, `b`.`exphist_lastexp`, `b`.`exphist1`, `b`.`exphist2`, `b`.`exphist3`, `b`.`exphist4`, `b`.`exphist5`, `b`.`exphist6`, `b`.`exphist7`,   (`a`.`experience` - `b`.`exphist_lastexp`)  AS `expdiff` FROM `players` `a` JOIN `znote_players` `b` ON `a`.`id` = `b`.`player_id`  WHERE `a`.`group_id` < 2 AND `a`.`vocation`='. (int)$vocation .' ORDER BY `expdiff` DESC LIMIT '.$limit);
+	}elseif(!empty($days) && empty($vocation)) 
+		$znotePlayers = mysql_select_multi('SELECT `a`.`id`, `b`.`player_id`, `a`.`name`, `a`.`vocation`, `a`.`level`, `a`.`group_id`, `a`.`experience`, `b`.`exphist_lastexp`, `b`.`exphist1`, `b`.`exphist2`, `b`.`exphist3`, `b`.`exphist4`, `b`.`exphist5`, `b`.`exphist6`, `b`.`exphist7`, (`a`.`experience` - `b`.`exphist_lastexp`) AS `expdiff` FROM `players` `a` JOIN `znote_players` `b` ON `a`.`id` = `b`.`player_id`  WHERE `a`.`group_id` < 2 ORDER BY `exphist' . (int)$days . '` DESC LIMIT '.$limit);
+	else 
+		$znotePlayers = mysql_select_multi('SELECT `a`.`id`, `b`.`player_id`, `a`.`name`, `a`.`vocation`, `a`.`level`, `a`.`group_id`, `a`.`experience`, `b`.`exphist_lastexp`, `b`.`exphist1`, `b`.`exphist2`, `b`.`exphist3`, `b`.`exphist4`, `b`.`exphist5`, `b`.`exphist6`, `b`.`exphist7`,   (`a`.`experience` - `b`.`exphist_lastexp`)  AS `expdiff` FROM `players` `a` JOIN `znote_players` `b` ON `a`.`id` = `b`.`player_id`  WHERE `a`.`group_id` < 2 ORDER BY `expdiff` DESC LIMIT '.$limit);
 
-for($i = 3; $i >= 2; $i--)
-	echo ($type == $i) ? '<TD id="selectedP" width="16%"><a href="powergamers.php?type='.$i.'">'.$i.'<b> Days Ago</b></a></B></TD>' : '<TD width="16%"><center><a href="powergamers.php?type='.$i.'">'.$i.' Days Ago</a></TD>';
-	echo ($type == 1) ? '<TD id="selectedP" width="16%"><b><a href="powergamers.php?type=1">1 Day Ago</a></B></TD>' : '<TD width="16%"><a href="powergamers.php?type=1">1 Day Ago</a></TD>';
-	echo (empty($type)) ? '<TD id="selectedP"><b><a href="powergamers.php">Today</a></b></TD>' : '<TD><a href="powergamers.php">Today</a></TD>';
-	echo '</TR>';
+	$showVoc = (!empty($vocation)) ? $vocation : 0;
+	?>
+	<form class="form form-inline" action="" method="post">
+		<div class="col sm-4">
+			<center>
+			<select class="form-control" name="days[]">
+				<option value="" selected="all">All</option>
+				<option value="1">Sorcerers</option>
+				<option value="2">Druids</option>
+				<option value="3">Paladins</option>
+				<option value="4">Knights</option>
+				<option value="none">No vocation</option>
+			</select>
+			<select class="form-control" name="days[]">
+				<option value="" selected="Today">Today</option>
+				<option value="1">Yesterday</option>
+				<option value="2">2 days ago</option>
+				<option value="3">3 days ago</option>
+			</select>
+			<input type="submit" class="btn btn-primary"><br>
+			<?php echo ($showVoc > 0) ? 'Showing only <b>'. strtolower(vocation_id_to_name($vocation)).'s</b> and' : 'Showing <b>all</b> vocations and'; ?>
+			<?php echo ($days > 0) ? 'sorted by <b>'. $days .'</b> days': 'sorted by <b>today</b>'; 	?>.
+			</center>
+		</div>
+	</form>
+	<table class="table table-striped">
+		<td width="5%"><center>#</center></td>
+		<td>Name</td>
+		<?php
+	for($i = 3; $i >= 2; $i--)
+		echo ($days == $i) ? '<td class="pull-right" width="70%"><b>'.$i.' Days Ago</b></td>' : '';
+		echo ($days == 1) ? '<td class="pull-right" width="70%"><b>Yesterday</b></td>' : '';
+		echo ($today) ? '<td class="pull-right" width="70%"><b>Today</b></td>' : '';
+		echo ($days == 4) ? '<td class="pull-right" width="70%"><b>Total</b></td>' : '';
+		echo '</tr>';
 
-$number_of_rows = 1;
-if($znotePlayers)
-	foreach($znotePlayers as $player)
-	{
-		echo '<td><center>'. $number_of_rows . '.</center></td>';
-		echo '<td><a href="characterprofile.php?name=' .$player['name']. '">' .$player['name']. '</a>';
-		echo '<br> ' .$player['level']. ' '.htmlspecialchars(vocation_id_to_name($player['vocation'])).' ';
-		
-		echo '<td><center>'.coloured_value($player['exphist1'] + $player['exphist2'] + $player['exphist3'] + $player['experience'] - $player['exphist_lastexp']).'</center></td>';
-		echo '<td><center>'.coloured_value($player['exphist3']).'</center></td><td><center>'.coloured_value($player['exphist2']).'</center></td><td><center>'.coloured_value($player['exphist1']).'</center></td><td><center>'.coloured_value($player['experience']-$player['exphist_lastexp']).'</center></td></tr>';	$number_of_rows++;
+	$number_of_rows = 0;
+	if($znotePlayers) {
+		foreach($znotePlayers as $player)
+		{
+			$number_of_rows++;
+			echo '<td><center>'. $number_of_rows . '.</center></td>';
+			echo '<td><a href="characterprofile.php?name=' .$player['name']. '">' .$player['name']. '</a>';
+			echo '<br> '. ($player['level']. ' '.htmlspecialchars(vocation_id_to_name($player['vocation'])) ).' ';
+			echo ($days == 3) ? '<td><center>'. number_format($player['exphist3']) .'</center></td>' : '';
+			echo ($days == 2) ? '<td><center>'. $player['exphist2'] .'</center></td>' : '';
+			echo ($days == 1) ? '<td><center>'. $player['exphist1'] .'</center></td>' : '';
+			echo ($today == true) ? '<td><center>'. ($player['experience']-$player['exphist_lastexp']) .'</center></td>' : '';
+			echo '</tr>';
+		}
 	}
-echo '</table><br></div>';
-?>
+	?>
+	</table>
+	<br>
+</div>
 <?php
 include 'layout/overall/footer.php';
-?>