We investigate an information theoretic problem motivated by storing multiple versions of a data object in distributed storage systems. Specifically, in a storage system with n server nodes, where there are ? independent message versions, each server receives message values corresponding to some arbitrary subset of the versions. The versions are assumed to be totally ordered. Each server is unaware of the set of versions at the other servers, and aims to encode the values corresponding to the versions it has. We investigate codes where, from any set of c nodes (c < n), the value corresponding to the highest common version, as per the version ordering, available at this set of c nodes is decodable. We aim to design codes that minimize the storage cost. We present two main results in this paper. First, we show that the storage cost is lower bounded by 1 - (1 - 1 over c)υ, measured in terms of the bits of the values. Second, for the cases of υ = 2 and υ = 3, we provide new code constructions that respectively achieve storage costs of 2c-1 over c2 and 3c-2 over c2, measured in terms of the bits of the values. Our code constructions are simple in that we do not code across versions. We argue that when the number of versions υ is much larger than c, then replication is close to optimal.