public function get($key) {
		$entry = null;

		if (isset($this->items[$key])) {
			$entry = $this->items[$key];
		} else {
			$data = $this->store->get($key);
			if ($data) {
				$entry = unserialize($data);
			}
		}

		if (!$entry) {
			return $entry;
		}


		// if the expire time is in the future
		if ($entry->expireAt > time()) {
			return unserialize($entry->value);
		}


		// if we got to here, we need to expire the value
		$this->expire($key);
		return null;
	}