diff --git a/src/containers/containers.jl b/src/containers/containers.jl
index 591b9f09a426b9d327daf5bd879a95c9efb929e9..e134de9173f714fab346b1ee9024eaccc4a9aca1 100644
--- a/src/containers/containers.jl
+++ b/src/containers/containers.jl
@@ -1,5 +1,13 @@
+"""
+Defines [`ContainerBlock`](@ref) sub-types, i.e., [`BuildingBlocks`](@ref) objects that contain other BuildingBlocks.
+
+The most important of these is [`Sequence`](@ref).
+
+To get the children blocks use [`get_children_blocks`](@ref).
+"""
 module Containers
 include("sequences.jl")
+import ..BuildingBlocks: ContainerBlock, get_children_blocks
 
 import .Sequences: Sequence
 end
\ No newline at end of file
diff --git a/src/containers/sequences.jl b/src/containers/sequences.jl
index d7f908c711b513e15c2a95432d2e7a6496615b8a..0422e06618b440b8ac6b1f74cd6336f9e141ca01 100644
--- a/src/containers/sequences.jl
+++ b/src/containers/sequences.jl
@@ -1,3 +1,6 @@
+"""
+Define the [`Sequence`](@ref) building block.
+"""
 module Sequences
 import JuMP: Model, @constraint
 import ...BuildSequences: @global_model_constructor
@@ -12,6 +15,9 @@ Represents a series of [`BuildingBlock`](@ref) objects run in turn.
 
 Providing a [`Scanner`](@ref) will lead to [`scanner_constraints!`](@ref) to be called on all building blocks.
 
+This can be used as a top-level NMR/MRI sequence (in which case the [`TR`](@ref) variable is relevant)
+or be embedded as a [`BuildingBlock`](@ref) into higher-order `Sequence` or other [`ContainerBlock`](@ref) objects.
+
 ## Variables
 - [`TR`](@ref): repetition time of sequence in ms.
 """
diff --git a/src/gradients/gradients.jl b/src/gradients/gradients.jl
index 8c6dbb6f64a21323e34cc8dda586a9a276e403d2..38edafa68dd36ee45fe1cf970391c5f082adbe90 100644
--- a/src/gradients/gradients.jl
+++ b/src/gradients/gradients.jl
@@ -1,8 +1,18 @@
+"""
+Module defining sub-types of the [`GradientBlock`](@ref), i.e., any [`BuildingBlock`](@ref) that only defines a gradient profile.
+
+- [`PulsedGradient`](@ref)
+- [`InstantGradientBlock`](@ref)
+
+Arbitrary gradient waveforms can be store din a [`ConcreteBlock`](@ref)
+"""
 module Gradients
 include("integrate_gradients.jl")
 include("pulsed_gradients.jl")
 include("instant_gradients.jl")
 
+import ..BuildingBlock: GradientBlock
+
 import .PulsedGradients: PulsedGradient
 import .InstantGradients: InstantGradientBlock
 end
\ No newline at end of file