public List<Blab> getFeed(String email)
	{
		Connection connection = null;
		
		List<Blab> blabs = new ArrayList<Blab>();
		String query = null;
		PreparedStatement statement = null;
		
		try
		{
			connection = dataSource.getConnection();
			
			query = "SELECT blabs.id, blabs.content, users.email, users.username, blabs.timestamp FROM blabs INNER JOIN (SELECT ? AS email UNION SELECT following AS following FROM follows WHERE follower = ?) feed ON blabs.email = feed.email INNER JOIN users ON feed.email = users.email ORDER BY id DESC;";
			statement = (PreparedStatement)connection.prepareStatement(query);
			statement.setString(1, email);
			statement.setString(2, email);
			
			ResultSet resultSet = statement.executeQuery();
			
			while (resultSet.next())
			{		
				Blab blab = new Blab();
				blab.setId(resultSet.getInt("id"));
				blab.setContent(resultSet.getString("content"));
				
				User user = new User();
				user.setEmail(resultSet.getString("email"));
				user.setUsername(resultSet.getString("username"));
				
				blab.setUser(user);
				blab.setTimestamp(resultSet.getTimestamp("timestamp"));
				
				blabs.add(blab);
			}
		}
		catch (SQLException sqle)
		{
			sqle.printStackTrace();
		}
		finally
		{
			try
			{
				statement.close();
				connection.close();
			}
			catch (SQLException sqle)
			{
				sqle.printStackTrace();
			}
		}
		
		return blabs;
	}