diff --git a/src/containers/fixed_blocks.jl b/src/containers/fixed_blocks.jl
index eaaaabeafd7331a990d476c2a60cc62122424b9f..3e79370dc2db69a08a555da37198bf2cd35926ad 100644
--- a/src/containers/fixed_blocks.jl
+++ b/src/containers/fixed_blocks.jl
@@ -1,7 +1,7 @@
 
 module FixedBlocks
 
-import ...BuildingBlocks: ContainerBlock
+import ...BuildingBlocks: BuildingBlock, ContainerBlock
 import ...Gradients: FixedGradient
 import ...Pulses: FixedPulse
 import ...Variables: duration, variables
@@ -44,11 +44,30 @@ struct FixedBlock <: ContainerBlock
     end
 end
 
+Base.getindex(fb::FixedBlock, index::Symbol) = fb[Val(index)]
+Base.getindex(fb::FixedBlock, ::Val{:pulse}) = fb.pulse
+Base.getindex(fb::FixedBlock, ::Val{:gradient}) = fb.gradient
+
 duration(fb::FixedBlock) = fb.duration
 
 variables(::Type{<:FixedBlock}) = []
 
 fixed(wb::WaitBlock) = FixedBlock(value(duration(wb)))
 
+start_time(fb::FixedBlock, index::Symbol) = start_time(fb, Val(index))
+start_time(fb::FixedBlock, ::Val{:pulse}) = fb.pulse_delay
+start_time(fb::FixedBlock, ::Val{:gradient}) = fb.gradient_delay
+
+function get_children_blocks(fb::FixedBlock)
+    res = Tuple{Symbol, BuildingBlock}[]
+    if !isnothing(fb.pulse)
+        push!((:pulse, fb.pulse))
+    end
+    if !isnothing(fb. gradient)
+        push!((:gradient, fb.gradient))
+    end
+    return res
+end
+
 
 end
\ No newline at end of file