diff --git a/app/lib/realm.js b/app/lib/realm.js
index 17d30e26a72a48a3200b77b194cb4fb7ccf49854..b67661669d5ffb2d1a3697acbf8f590e6cde47ee 100644
--- a/app/lib/realm.js
+++ b/app/lib/realm.js
@@ -49,6 +49,7 @@ const roomsSchema = {
 	properties: {
 		_id: 'string',
 		t: 'string',
+		lastMessage: 'messages',
 		_updatedAt: { type: 'date', optional: true }
 	}
 };
diff --git a/app/lib/rocketchat.js b/app/lib/rocketchat.js
index dc0bf1bd64cefd74bc3c24a74e4e53dd711641ff..188178a8f99c98096b2bfbb2b3a2b445619ecef6 100644
--- a/app/lib/rocketchat.js
+++ b/app/lib/rocketchat.js
@@ -432,10 +432,17 @@ const RocketChat = {
 			}
 			return subscription;
 		});
+		
 		database.write(() => {
 			data.forEach(subscription =>
 				database.create('subscriptions', subscription, true));
 		});
+
+		database.write(() => {
+			rooms.forEach(room => 
+				database.create('rooms', room, true));
+		});
+
 		this.ddp.subscribe('stream-notify-user', `${ login.user.id }/subscriptions-changed`, false);
 		this.ddp.subscribe('stream-notify-user', `${ login.user.id }/rooms-changed`, false);
 		return data;
diff --git a/app/presentation/RoomItem.js b/app/presentation/RoomItem.js
index d198f91fcae28942ca57e143bb6edd168cace6d2..82bd362a0de4af97237191efd1278fe3365c79cb 100644
--- a/app/presentation/RoomItem.js
+++ b/app/presentation/RoomItem.js
@@ -52,6 +52,7 @@ export default class RoomItem extends React.PureComponent {
 		type: PropTypes.string.isRequired,
 		name: PropTypes.string.isRequired,
 		_updatedAt: PropTypes.instanceOf(Date),
+		lastMessage: PropTypes.object,
 		favorite: PropTypes.bool,
 		alert: PropTypes.bool,
 		unread: PropTypes.number,
@@ -94,11 +95,13 @@ export default class RoomItem extends React.PureComponent {
 
 	render() {
 		const {
-			favorite, alert, unread, userMentions, name, _updatedAt
+			favorite, alert, unread, userMentions, name, lastMessage, _updatedAt
 		} = this.props;
 
 		const date = this.formatDate(_updatedAt);
 
+		console.log("do we have a last message?", lastMessage);
+
 		let accessibilityLabel = name;
 		if (unread === 1) {
 			accessibilityLabel += `, ${ unread } alert`;
@@ -118,6 +121,7 @@ export default class RoomItem extends React.PureComponent {
 					{this.icon}
 					<View style={styles.roomNameView}>
 						<Text style={[styles.roomName, alert && styles.alert]} ellipsizeMode='tail' numberOfLines={1}>{ name }</Text>
+						{lastMessage ? <Text>{lastMessage.u.username}: {lastMessage.msg}</Text> : <Text>No Message</Text>}
 						{_updatedAt ? <Text style={styles.update} ellipsizeMode='tail' numberOfLines={1}>{ date }</Text> : null}
 					</View>
 					{this.renderNumber(unread, userMentions)}
diff --git a/app/views/RoomsListView/index.js b/app/views/RoomsListView/index.js
index f229267231263ea0ba53e5f25751f220ca9725ed..c1d63f6ec6ffd23108844e12b346099cb00fa499 100644
--- a/app/views/RoomsListView/index.js
+++ b/app/views/RoomsListView/index.js
@@ -48,6 +48,7 @@ export default class RoomsListView extends React.Component {
 			searchText: ''
 		};
 		this.data = database.objects('subscriptions').sorted('roomUpdatedAt', true);
+		
 	}
 
 	componentDidMount() {
@@ -79,6 +80,12 @@ export default class RoomsListView extends React.Component {
 		this.search(text);
 	}
 
+	getLastMessage = (subscription) => {
+		const room = database.objects('rooms').sorted('_updatedAt', true).slice().find(({ _id }) => _id === subscription.rid);
+		console.log('ROOM', room);
+		return room.lastMessage;
+	}
+
 	search(text) {
 		const searchText = text.trim();
 		if (searchText === '') {
@@ -202,6 +209,7 @@ export default class RoomsListView extends React.Component {
 			alert={item.alert}
 			unread={item.unread}
 			userMentions={item.userMentions}
+			lastMessage={this.getLastMessage(item)}
 			favorite={item.f}
 			name={item.name}
 			_updatedAt={item.roomUpdatedAt}