public function Timeline() {
		$since = $this->owner->getRequest()->getVar('since');
		$offset = (int) $this->owner->getRequest()->getVar('before');
        $mentions = (int) $this->getRequest()->getVar('mentions');
        $showHidden = (int) $this->getRequest()->getVar('hidden');
		if (!$offset) {
			$offset = false;
		}
		$filter = array();
		$tags = $this->getFilterTags();
		$target = $this->getTargetFilter();
        $options = $this->getOptions();

		if ($target) {
			$filter['Target'] = $target;
		}

        if ($mentions && Member::currentUserID()) {
            $filter['Mentions.ID'] = Member::currentUserID();
        }

        if ($showHidden) {
            $filter['Hidden'] = array(0, 1);
        }

		$sort = $this->request->getVar('sort');
		if (!$sort) {
			$sort = 'ID';
		}

		$data = $this->owner->microBlogService->getStatusUpdates($filter, $sort, $since, $offset, $toplevel = true, $tags);
		
		$props = array(
			'Posts' => $data, 
			'Options'       =>        $options,
			'QueryOffset'	=> $data->QueryOffset,
			'Target'		=> $target,
			'SortBy'		=> $sort
		);

		return trim($this->owner->customise($props)->renderWith('Timeline'));
	}