diff --git a/utilities/page/messages/messages.css b/utilities/page/messages/messages.css
index 49b3771..c461e11 100644
--- a/utilities/page/messages/messages.css
+++ b/utilities/page/messages/messages.css
@@ -1,17 +1,12 @@
 #message-post-text {
-	width: 50%;
 }
 
-#message-list {
-	
+#message-list {	
 }
 
 .message {
-	border-radius: 5px;
-	max-width: 60%;
-	min-width: 40%;
 	padding: 7px;
-	margin-bottom: 7px;
+	border-bottom: 1px solid #ccc;
 }
 
 .message .help {
@@ -22,14 +17,9 @@
 }
 
 .message-other {
-	background-color: #EBFF9C;
-	border: 1px solid #C3CF78;
-	float: right;
 	text-align: right;
 }
 
 .message-self {
 	background-color: #eee;
-	border: 1px solid #ccc;
-	float: left;	
 }
\ No newline at end of file
diff --git a/utilities/page/messages/messages.html b/utilities/page/messages/messages.html
index 7538785..e69de29 100644
--- a/utilities/page/messages/messages.html
+++ b/utilities/page/messages/messages.html
@@ -1,28 +0,0 @@
-<div class="layout-wrapper layout-wrapper-background">
-	<div class="layout-main-section">
-		<a class="close" onclick="window.history.back();">&times;</a>		
-		<h1>Messages</h1>
-		<div class="well">
-			<input id="message-post-text"></input>
-			<button disabled="disabled" id="message-post" class="btn btn-small"><i class="icon-play"></i> Post</button>
-		</div>
-		<div id="message-list">
-		</div>
-	</div>
-	<div class="layout-side-section">
-		<div class="psidebar">
-			<div class="section">
-				<div class="section-head">
-					Messages By
-				</div>
-				<div class="section-body">
-					<div class="section-item">
-						<a href="#!messages"><b>All messages</b></a>
-					</div>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div style="clear: both;">
-	</div>	
-</div>
\ No newline at end of file
diff --git a/utilities/page/messages/messages.js b/utilities/page/messages/messages.js
index 9283f94..0409563 100644
--- a/utilities/page/messages/messages.js
+++ b/utilities/page/messages/messages.js
@@ -17,71 +17,87 @@
 wn.provide('erpnext.messages');
 
 wn.pages.messages.onload = function(wrapper) {
-	erpnext.messages.show_active_users();
-	erpnext.messages.make_list();
-	erpnext.update_messages('reset'); //Resets notification icons
-	
-	// post message
-	$('#message-post').click(function() {
-		var txt = $('#message-post-text').val();
-		if(txt) {
-			wn.call({
-				module:'utilities',
-				page:'messages',
-				method:'post',
-				args: {
-					txt: txt,
-					contact: erpnext.messages.contact
-				},
-				callback:function(r,rt) {
-					$('#message-post-text').val('')
-					erpnext.messages.list.run();
-				},
-				btn: this
-			});
-		}
+	wn.ui.make_app_page({
+		parent: wrapper,
+		title: "Messages"
 	});
 	
-	// enable, disable button
-	$('#message-post-text').keyup(function(e) {
-		if($(this).val()) {
-			$('#message-post').attr('disabled', false);
-		} else {
-			$('#message-post').attr('disabled', true);
-		}
-		
-		if(e.which==13) {
-			$('#message-post').click();
-		}
-	})
+	$('<h3 id="message-title">Everyone</h3>\
+	<div id="show-everyone" style="display: none;">\
+		<a href="#messages" style="font-size: 80%;">\
+			Show messages from everyone</a></div><hr>\
+	<div id="post-message" style="display: none">\
+	<textarea style="width: 100%; height: 24px;"></textarea>\
+	<div><button class="btn btn-small">Post</button></div><hr>\
+	</div>\
+	<div class="all-messages"></div>').appendTo($(wrapper).find('.layout-main-section'));
+	
+	erpnext.messages = new erpnext.Messages(wrapper);
 }
 
 $(wn.pages.messages).bind('show', function() {
 	erpnext.messages.show();
-	setTimeout(erpnext.messages.refresh, 7000);
-	$('#message-post-text').focus();
+	setTimeout("erpnext.messages.refresh()", 7000);
 })
 
-erpnext.messages = {
+erpnext.Messages = Class.extend({
+	init: function(wrapper) {
+		this.wrapper = wrapper;
+		this.show_active_users();
+		this.make_post_message();
+		this.make_list();
+		//this.update_messages('reset'); //Resets notification icons		
+	},
+	make_post_message: function() {
+		var me = this;
+		$('#post-message textarea').keydown(function(e) {
+			if(e.which==13) {
+				$('#post-message .btn').click();
+				return false;
+			}
+		});
+		
+		$('#post-message .btn').click(function() {
+			var txt = $('#post-message textarea').val();
+			if(txt) {
+				wn.call({
+					module:'utilities',
+					page:'messages',
+					method:'post',
+					args: {
+						txt: txt,
+						contact: me.contact
+					},
+					callback:function(r,rt) {
+						$('#post-message textarea').val('')
+						me.list.run();
+					},
+					btn: this
+				});
+			}			
+		});
+	},
 	show: function() {
-		var contact = erpnext.messages.get_contact();
+		var contact = this.get_contact();
 
+		$('#message-title').text(contact==user ? "Everyone" :
+			wn.boot.user_info[contact].fullname)
+
+		$("#show-everyone").toggle(contact!=user);
+		
 		// can't send message to self
-		$(wn.pages.messages).find('.well').toggle(contact==user ? false : true);
+		$('#post-message').toggle(contact!=user);
 
-		$(wn.pages.messages).find('h1:first').html('Messages: ' 
-			+ (user==contact ? 'From everyone' : wn.user_info(contact).fullname));
-
-		erpnext.messages.contact = contact;
-		erpnext.messages.list.opts.args.contact = contact;
-		erpnext.messages.list.run();
+		this.contact = contact;
+		this.list.opts.args.contact = contact;
+		this.list.run();
 		
 	},
 	// check for updates every 5 seconds if page is active
 	refresh: function() {
-		setTimeout(erpnext.messages.refresh, 7000);
+		setTimeout("erpnext.messages.refresh()", 7000);
 		if(wn.container.page.label != 'Messages') return;
-		erpnext.messages.show();
+		this.show();
 	},
 	get_contact: function() {
 		var route = location.hash;
@@ -95,12 +111,14 @@
 		return user;	
 	},
 	make_list: function() {
-		erpnext.messages.list = new wn.ui.Listing({
-			parent: $('#message-list').get(0),
+		this.list = new wn.ui.Listing({
+			parent: $(this.wrapper).find('.all-messages'),
 			method: 'utilities.page.messages.messages.get_list',
 			args: {
 				contact: null
 			},
+			hide_refresh: true,
+			no_loading: true,
 			render_row: function(wrapper, data) {
 				$(wrapper).removeClass('list-row');
 				
@@ -117,7 +135,7 @@
 				} else {
 					data.cls = 'message-other';
 					data.delete_html = '';
-					if(erpnext.messages.contact==user) {
+					if(this.contact==user) {
 						data.reply_html = repl('<a href="#!messages/%(owner)s">\
 							<i class="icon-share-alt"></i> Reply</a>', data)
 					}
@@ -142,22 +160,28 @@
 		});
 	},
 	show_active_users: function() {
+		var me = this;
 		wn.call({
 			module:'utilities',
 			page:'messages',
 			method:'get_active_users',
 			callback: function(r,rt) {
-				var $body = $(wn.pages.messages).find('.section-body');
+				var $body = $(me.wrapper).find('.layout-side-section');
+				$("<h4>Users</h4><hr>").appendTo($body);
 				for(var i in r.message) {
 					var p = r.message[i];
 					p.fullname = wn.user_info(p.name).fullname;
 					p.name = p.name.replace('@', '__at__');
-					$body.append(repl('<div class="section-item">\
-						<a href="#!messages/%(name)s">%(fullname)s</a></div>', p))
+					p.label_status = p.has_sessions ? "label-success" : "";
+					p.status = p.has_sessions ? "Online" : "Offline";
+					$(repl('<p><span class="label %(label_status)s">%(status)s</span>\
+						<a href="#!messages/%(name)s">%(fullname)s</a>\
+						</p>', p))
+						.appendTo($body);
 				}
 			}
 		});
 	}
-}
+});
 
 
diff --git a/utilities/page/messages/messages.py b/utilities/page/messages/messages.py
index 2528413..f2381ab 100644
--- a/utilities/page/messages/messages.py
+++ b/utilities/page/messages/messages.py
@@ -48,7 +48,10 @@
 
 @webnotes.whitelist()
 def get_active_users(arg=None):
-	return webnotes.conn.sql("""select name from tabProfile 
+	return webnotes.conn.sql("""select name,
+		(select count(*) from tabSessions where user=tabProfile.name
+			and timediff(now(), lastupdate) < time("01:00:00")) as has_session
+	 	from tabProfile 
 		where ifnull(enabled,0)=1 and
 		docstatus < 2 and 
 		name not in ('Administrator', 'Guest') 
