  While the topological order in two dimensions has been studied extensively
since the discover of the integer and fractional quantum Hall systems,
topological states in 3 spatial dimensions are much less understood. In this
paper, we propose a general formalism for constructing a large class of
three-dimensional topological states by stacking layers of 2D topological
states and introducing coupling between them. Using this construction,
different types of topological states can be obtained, including those with
only surface topological order and no bulk topological quasiparticles, and
those with topological order both in the bulk and at the surface. For both
classes of states we study its generic properties and present several explicit
examples. As an interesting consequence of this construction, we obtain example
systems with nontrivial braiding statistics between string excitations. In
addition to studying the string-string braiding in the example system, we
propose a generic topological field theory description which can capture both
string-particle and string-string braiding statistics. Lastly, we provide a
proof of a general identity for Abelian string statistics, and discuss an
example system with non-Abelian strings.
