diff --git a/api.php b/api.php
index 8b110dd6a219dc7299b534b77eff3ebd32ffd78c..c52bbe8eaee6becaa2b579c30fa6a786457fa5f5 100644
--- a/api.php
+++ b/api.php
@@ -1,16 +1,18 @@
 <?php
 include_once 'config.php';
 
-if ($_GET['get'] == 'shows') {
+/*** TV SHOWS ***/
 
-	$sbdb = new SQLite3($sbPath.'/sickbeard.db');
+if ($_GET['get'] == 'shows' && $_GET['limit'] && isset($_GET['offset'])) {
+
+	$sbdb = new PDO('sqlite:'.$sbPath.'/sickbeard.db');
 
 	$shows = $sbdb->query("SELECT tvdb_id AS id, show_name AS name, location FROM tv_shows ORDER BY show_name ASC LIMIT ".$_GET['limit']." OFFSET ".$_GET['offset'].";");
 	$output = array();
-	while ($show = $shows->fetchArray()) {
+	foreach($shows as $show) {
 		$rows = $sbdb->query("SELECT season, COUNT(episode_id) AS count FROM tv_episodes WHERE showid = '".$show['id']."' GROUP BY season ORDER BY season ASC");
 		$seasons = array();
-		while ($row = $rows->fetchArray()) {
+		foreach($rows as $row) {
 			array_push($seasons, array("season" => $row['season'], "count" => $row['count']));
 		}
 		array_push($output, array(
@@ -27,19 +29,23 @@ if ($_GET['get'] == 'shows') {
 	
 }
 
-if ($_GET['get'] == 'poster' && !empty($_GET['show'])) {
+if ($_GET['get'] == 'poster' && (!empty($_GET['show']) || !empty($_GET['movie']))) {
 
-	if($_GET['season'])
+	if($_GET['show'] && $_GET['season'])
 		$poster = get_absolute_path('poster/'.cleanName($_GET['show']).'-S'.$_GET['season'].'.jpg');
-	else
+	elseif($_GET['show'])
 		$poster = get_absolute_path('poster/'.cleanName($_GET['show']).'.jpg');
+	else
+		$poster = get_absolute_path('poster/'. cleanName($_GET['movie']).'.jpg');
 	
 	if(!file_exists($poster)) {
 	
-		if($_GET['season'])
+		if($_GET['show'] && $_GET['season'])
 			$source = '/'.get_absolute_path($showsPath.'/'.$_GET['show'].'/season'.$_GET['season'].'-poster.jpg');
-		else
+		elseif($_GET['show'])
 			$source = '/'.get_absolute_path($showsPath.'/'.$_GET['show'].'/poster.jpg');
+		else
+			$source = '/'.get_absolute_path($moviesPath.'/'.$_GET['movie'].'/'.$_GET['movie'].'-poster.jpg');
 			
 		if(file_exists($source)) {
 			$img = new Imagick();
@@ -63,12 +69,21 @@ if ($_GET['get'] == 'poster' && !empty($_GET['show'])) {
 	die;
 }
 
-if ($_GET['get'] == 'fanart' && !empty($_GET['show'])) {
+if ($_GET['get'] == 'fanart' && (!empty($_GET['show']) || !empty($_GET['movie']))) {
 
-	$fanart = get_absolute_path('fanart/'.cleanName($_GET['show']).'.jpg');
+	if($_GET['show'])
+		$fanart = get_absolute_path('fanart/'. cleanName($_GET['show']).'.jpg');
+	else
+		$fanart = get_absolute_path('fanart/'. cleanName($_GET['movie']).'.jpg');
+	
 	
 	if(!file_exists($fanart)) {
-		$source = '/'.get_absolute_path($showsPath.'/'.$_GET['show'].'/fanart.jpg');
+	
+		if($_GET['show'])
+			$source = '/'.get_absolute_path($showsPath.'/'.$_GET['show'].'/fanart.jpg');
+		else
+			$source = '/'.get_absolute_path($moviesPath.'/'.$_GET['movie'].'/'.$_GET['movie'].'-fanart.jpg');
+			
 		if(file_exists($source)) {
 			$img = new Imagick();
 			$img->setOption('jpeg:size', '1024x576');
@@ -93,12 +108,20 @@ if ($_GET['get'] == 'fanart' && !empty($_GET['show'])) {
 	die;
 }
 
-if ($_GET['get'] == 'logo' && !empty($_GET['show'])) {
+if ($_GET['get'] == 'logo' && (!empty($_GET['show']) || !empty($_GET['movie']))) {
 
-	$logo = get_absolute_path('logo/'.cleanName($_GET['show']).'.png');
+	if($_GET['show'])
+		$logo = get_absolute_path('logo/'.cleanName($_GET['show']).'.png');
+	else
+		$logo = get_absolute_path('logo/'.cleanName($_GET['movie']).'.png');
 	
 	if(!file_exists($logo)) {
-		$source = '/'.get_absolute_path($showsPath.'/'.$_GET['show'].'/clearlogo.png');
+	
+		if($_GET['show'])
+			$source = '/'.get_absolute_path($showsPath.'/'.$_GET['show'].'/clearlogo.png');
+		else
+			$source = '/'.get_absolute_path($moviesPath.'/'.$_GET['movie'].'/'.$_GET['movie'].'-clearlogo.png');
+			
 		if(file_exists($source)) {
 			$img = new Imagick();
 			$img->readImage($source);
@@ -117,10 +140,10 @@ if ($_GET['get'] == 'logo' && !empty($_GET['show'])) {
 }
 
 if ($_GET['get'] == 'episodes' && !empty($_GET['show']) && isset($_GET['season'])) {
-	$sbdb = new SQLite3($sbPath.'/sickbeard.db');
+	$sbdb = new PDO('sqlite:'.$sbPath.'/sickbeard.db');
 	$episodes = $sbdb->query("SELECT episode, name, airdate, status FROM tv_episodes WHERE showid = '".$_GET['show']."' AND season = '".$_GET['season']."' ORDER BY episode ASC;");
 	$output = array();
-	while ($episode = $episodes->fetchArray()) {
+	foreach ($episodes as $episode) {
 		$date = new DateTime('0001-01-00');
 		$date->add(new DateInterval('P'.$episode['airdate'].'D'));
 		array_push($output, array("episode" => $episode['episode'], "name" => $episode['name'], "status" => (string)$episode['status'], "airdate" => $date->format('Y-m-d')));
@@ -130,10 +153,10 @@ if ($_GET['get'] == 'episodes' && !empty($_GET['show']) && isset($_GET['season']
 }
 
 if ($_GET['get'] == 'latest' && $_GET['type'] == 'shows') {
-	$sbdb = new SQLite3($sbPath.'/sickbeard.db');
+	$sbdb = new PDO('sqlite:'.$sbPath.'/sickbeard.db');
 	$eps = $sbdb->query("SELECT s.show_name, ep.name, ep.episode, ep.season, ep.airdate FROM tv_episodes AS ep JOIN tv_shows AS s ON ep.showid=s.tvdb_id WHERE ep.status LIKE '%4' ORDER BY ep.airdate DESC LIMIT 10;");
 	$output = array();
-	while ($ep = $eps->fetchArray()) {
+	foreach ($eps as $ep) {
 		$date = new DateTime('0001-01-00');
 		$date->add(new DateInterval('P'.$ep['airdate'].'D'));
 		array_push($output, array("show" => $ep['show_name'], "episode" => "S".str_pad($ep['season'], 2, '0', STR_PAD_LEFT)."E".str_pad($ep['episode'], 2, '0', STR_PAD_LEFT), "name" => $ep['name'], "airdate" => $date->format('Y-m-d')));
@@ -142,6 +165,34 @@ if ($_GET['get'] == 'latest' && $_GET['type'] == 'shows') {
 	die;
 }
 
+
+/*** MOVIES ***/
+
+if ($_GET['get'] == 'movies' && $_GET['limit'] && isset($_GET['offset'])) {
+
+	$cpdb = new PDO('sqlite:'.$cpPath.'/couchpotato.db');
+	$cpdb->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
+
+	$movies = $cpdb->query("SELECT l.identifier AS imdb, lt.title, l.year, s.label AS status FROM library AS l 
+		JOIN librarytitle AS lt ON l.id=lt.libraries_id 
+		JOIN movie AS m on l.id=m.library_id 
+		JOIN status AS s ON m.status_id=s.id
+		WHERE m.status_id = 3 AND `default` = 1 
+		ORDER BY title ASC LIMIT ".$_GET['limit']." OFFSET ".$_GET['offset'].";");
+	$output = array();
+	foreach ($movies as $movie) {
+		array_push($output, array(
+			"imdb" => $movie['imdb'],
+			"title" => $movie['title'],
+			"year" => $movie['year'],
+			"status" => $movie['status']
+		));
+	}
+	echo json_encode($output);
+	die;
+	
+}
+
 function cleanName($show) {
 	return preg_replace("/[^a-zA-Z0-9]/", "_", $show);
 }
diff --git a/css/mediarack.css b/css/mediarack.css
index 2cc936a07aac46117e1849a55b532fa3307f8f92..2cf41fff1d5368a9621ad3a52177f3f171d85ab5 100644
--- a/css/mediarack.css
+++ b/css/mediarack.css
@@ -13,25 +13,24 @@ body {
 	min-height: 200px;
 }
 
-.showName.panel-heading {
+.showName.panel-heading,
+.movieName.panel-heading {
 	min-height: 71px;
 	height: 71px;
 }
 
-.showLogo {	
+.showLogo, 
+.movieLogo {	
 	display: block;
     margin-left: auto;
     margin-right: auto;
 }
 
-.season {
-
-}
-
-.thumbnail {
+#shows .thumbnail {
 	min-height: 230px;
 	height: 230px;
 }
+
 .thumbnail  img.showPoster {
 	min-height: 220px;
 	height: 220px;
@@ -49,12 +48,12 @@ table.episodes  tr td{
 	font-weight: bold;
 }
 
-div.panel-body.lazy {
+div.panel-body {
 	/* background: url('../img/no_fanart.jpg') repeat-y top center; */
 	background-size: 100% auto;
 }
 
-div#shows {
+div#shows, div#movies {
 	display: none;
 }
 
diff --git a/index.php b/index.php
index 3e191117cb59d909ae7807b7a462711d5a72a3bc..134b6f80e37791c32cef0c59d6ee93be2908600d 100644
--- a/index.php
+++ b/index.php
@@ -60,8 +60,10 @@
 			</div>
 		</div>
 	
-	
 		<div class="content" id="shows"></div>
+		
+		<div class="content" id="movies"></div>
+		
     </div> <!-- /container -->
 
 
diff --git a/js/mediarack.js b/js/mediarack.js
index 3cb855f96b789772b30ebe05bc879df941a59bfd..3582f9274f08206aac8053d89103ef2dd96ae1b3 100644
--- a/js/mediarack.js
+++ b/js/mediarack.js
@@ -1,26 +1,36 @@
 var showLimit = 5;
 var showOffset = 0;
-var killScroll = false;
+var loadShows = true;
+
+var movieLimit = 5;
+var movieOffset = 0;
+var loadMovies = true;
 
 $(document).ready(function() {
 
 	getLatest();
 	getShows();
+	getMovies();
 	
 	$(".nav a").on('click',function(e) {
 		e.preventDefault();
 		$('.content').hide();
 		$(".nav li").removeClass('active');
 		$(this).parent().addClass('active');
+		window.scrollTo(0, 0);
 		$($(this).attr('href')).show();
 	});
 	
 	$(window).scroll(function(){
 		if  ($(window).scrollTop()+200 >= ($(document).height() - ($(window).height()))){
-			if (killScroll == false) {
-				killScroll = true;
+			if ($("#shows").is(":visible") && loadShows == true) {
+				loadShows = false;
 				getShows();
 			}
+			if ($("#movies").is(":visible") && loadMovies == true) {
+				loadMovies = false;
+				getMovies();
+			}
 		}
 	});
 
@@ -98,17 +108,17 @@ function getShows() {
 				divShowBody.append(divShowPoster);
 				divShowBody.append(ulSeasons);
 				divShowContainer.append(divShowFooter);
-				$("div.panel-body.lazy").lazyload({
+				$("#shows div.panel-body.lazy").lazyload({
 					//event: "scrollstop",
 					effect: "fadeIn",
 					threshold: 100
 				});		
-				$("img.showPoster.lazy").lazyload({
+				$("#shows img.showPoster.lazy").lazyload({
 					//event: "scrollstop",
 					effect: "fadeIn",
 					threshold: 100
 				});
-				$("img.showLogo.lazy").lazyload({
+				$("#shows img.showLogo.lazy").lazyload({
 					//event: "scrollstop",
 					effect: "fadeIn",
 					threshold: 100
@@ -123,7 +133,7 @@ function getShows() {
 			});
 			showOffset = showOffset+showLimit;
 			if(i > 0) {
-				killScroll = false;
+				loadShows = true;
 			}
 		}
 	);
@@ -174,3 +184,52 @@ function getEpisodes(show, season) {
 		}
 	);
 }
+
+function getMovies() {
+	$.getJSON('api.php', {
+		'get': 'movies',
+		'limit': movieLimit.toString(),
+		'offset': movieOffset.toString()
+		}, function(data) {
+			var divMovies = $("#movies");
+			var i = 0;
+			$.each(data, function (key, movie) {
+				var divMovieContainer = $('<div class="movie panel panel-default" data-imdb="'+movie.imdb+'" id="movie_'+movie.imdb+'"></div>');
+				var divMovieHeader = $('<div class="movieName panel-heading"><h2 class="panel-title text-center"><img class="movieLogo lazy" style="min-height: 50px; height: 50px;" alt="'+movie.title+'" data-original="api.php?get=logo&movie='+escape(movie.title+' ('+movie.year+')')+'" src="" /></h2></div>');
+				var divMovieBody = $('<div class="panel-body lazy" data-original="api.php?get=fanart&movie='+escape(movie.title+' ('+movie.year+')')+'"></div>');
+				var divMovieFooter =$('<div class="panel-footer">IMDB Rating: </div>');
+				var divMoviePoster = $('<div class="col-md-2 text-center"><a href="#" class="thumbnail"><img id="poster_'+movie.imdb+'" class="moviePoster lazy" data-original="api.php?get=poster&movie='+escape(movie.title+' ('+movie.year+')')+'" src="img/no_poster.jpg" /></a></div>');
+				divMovieContainer.append(divMovieHeader);
+				divMovieContainer.append(divMovieBody);
+				divMovieBody.append(divMoviePoster);
+				divMovieContainer.append(divMovieFooter);
+				$("#movies div.panel-body.lazy").lazyload({
+					//event: "scrollstop",
+					effect: "fadeIn",
+					threshold: 100
+				});		
+				$("#movies img.moviePoster.lazy").lazyload({
+					//event: "scrollstop",
+					effect: "fadeIn",
+					threshold: 100
+				});
+				$("#movies img.movieLogo.lazy").lazyload({
+					//event: "scrollstop",
+					effect: "fadeIn",
+					threshold: 100
+				});
+				divMovies.append(divMovieContainer);
+				if(i < 5) {
+					divMovieHeader.find("img.movieLogo").attr('src', 'api.php?get=logo&movie='+escape(movie.title+' ('+movie.year+')')).removeClass('lazy');
+					divMovieBody.css('background-image', 'url(api.php?get=fanart&movie='+escape(movie.title+' ('+movie.year+')')+')').removeClass('lazy');
+					divMoviePoster.find("img.moviePoster").attr('src', 'api.php?get=poster&movie='+escape(movie.title+' ('+movie.year+')')).removeClass('lazy');
+				}
+				i++;
+			});
+			movieOffset = movieOffset+movieLimit;
+			if(i > 0) {
+				loadMovies = true;
+			}
+		}
+	);
+}