In this paper we study implementations of concurrent counters, which count modulo some (large) integer m, using only small valued objects. A concurrent counter is a counter that can be incremented and read, possibly at the same time, by many processes. The counters we study do not depend on the initial state of the memory and hence are more robust to memory changes. Also, we assume that all the processes are identical which makes them easy to program. Finally, all the algorithms are required to be wait-free - a correct process cannot be prevented from finishing its increment or read operations - and thus the algorithms can tolerate any number of process failures. We concentrate on providing upper and lower bounds on the space complexity of the counters studied.