diff --git a/src/MRIBuilder.jl b/src/MRIBuilder.jl
index 09a90fccd93b5dad93c62094b69648786c6a56e7..ed1d690bca0374ec2246c35c0fd1f516d29a2c1f 100644
--- a/src/MRIBuilder.jl
+++ b/src/MRIBuilder.jl
@@ -7,7 +7,6 @@ include("build_sequences.jl")
 include("scanners.jl")
 include("variables.jl")
 include("building_blocks.jl")
-include("concrete_blocks.jl")
 include("wait.jl")
 include("containers/containers.jl")
 include("gradients/gradients.jl")
@@ -26,9 +25,6 @@ export variables, duration, start_time, end_time, flip_angle, amplitude, phase,
 import .BuildingBlocks: BuildingBlock, fixed
 export BuildingBlocks, fixed
 
-import .ConcreteBlocks: ConcreteBlock, AbstractConcreteBlock
-export ConcreteBlocks, AbstractConcreteBlock
-
 import .Wait: WaitBlock
 export WaitBlock
 
diff --git a/src/gradients/gradients.jl b/src/gradients/gradients.jl
index bdffe1dbeceb146dced8f78069ae61e8d41b2b13..dfa11059aeb0f630be4e3615096b74e3ecd2c947 100644
--- a/src/gradients/gradients.jl
+++ b/src/gradients/gradients.jl
@@ -4,8 +4,6 @@ Module defining sub-types of the [`GradientBlock`](@ref), i.e., any [`BuildingBl
 - [`PulsedGradient`](@ref)
 - [`InstantGradientBlock`](@ref)
 - [`FixedGradient`](@ref)
-
-Arbitrary gradient waveforms can be store din a [`ConcreteBlock`](@ref)
 """
 module Gradients
 include("integrate_gradients.jl")
diff --git a/src/gradients/instant_gradients.jl b/src/gradients/instant_gradients.jl
index 7b9641ce137623da59effa5592e5d98e8370d783..435a63357bf5598fe25fdca829bf7e720a4babff 100644
--- a/src/gradients/instant_gradients.jl
+++ b/src/gradients/instant_gradients.jl
@@ -2,7 +2,6 @@ module InstantGradients
 import JuMP: @constraint, @variable, Model, owner_model
 import ...Variables: qval, bval, start_time, duration, variables, get_free_variable, VariableType
 import ...BuildingBlocks: GradientBlock, fixed
-import ...ConcreteBlocks: to_concrete_block, AbstractConcreteBlock
 import ...BuildSequences: @global_model_constructor
 import ..FixedGradients: FixedInstantGradient
 
diff --git a/src/gradients/pulsed_gradients.jl b/src/gradients/pulsed_gradients.jl
index 5e34a45611fef8a261dcb75a67fb7e98ca2c1a64..1f5a846056f39451bd84307dba7c237c202ca0fb 100644
--- a/src/gradients/pulsed_gradients.jl
+++ b/src/gradients/pulsed_gradients.jl
@@ -7,7 +7,6 @@ import JuMP: @constraint, @variable, Model, VariableRef, owner_model, value
 import StaticArrays: SVector
 import ...Variables: qval, bval, rise_time, flat_time, slew_rate, gradient_strength, variables, duration, δ, get_free_variable, VariableType
 import ...BuildingBlocks: GradientBlock, duration, set_simple_constraints!, fixed
-import ...ConcreteBlocks: ConcreteBlock, to_concrete_block
 import ...BuildSequences: @global_model_constructor
 import ..FixedGradients: FixedGradient
 
diff --git a/src/pulses/constant_pulses.jl b/src/pulses/constant_pulses.jl
index 15b40f3dc84eff2567758208a2a3795715790e11..6e5625cfd6e454be9be969618aae2d8f228583bf 100644
--- a/src/pulses/constant_pulses.jl
+++ b/src/pulses/constant_pulses.jl
@@ -1,7 +1,6 @@
 module ConstantPulses
 import JuMP: VariableRef, @constraint, @variable, value, Model
 import ...BuildingBlocks: RFPulseBlock, set_simple_constraints!, fixed
-import ...ConcreteBlocks: ConcreteBlock, to_concrete_block
 import ...Variables: variables, get_free_variable, flip_angle, phase, amplitude, frequency, bandwidth, start_time, end_time, VariableType, duration
 import ...BuildSequences: @global_model_constructor
 import ..FixedPulses: FixedPulse
diff --git a/src/pulses/instant_pulses.jl b/src/pulses/instant_pulses.jl
index 8a19599cf698cfdae32ced356d6a236e0bfffba5..9390d5fd515aef41ef2c585275d8fa7183ea7cb8 100644
--- a/src/pulses/instant_pulses.jl
+++ b/src/pulses/instant_pulses.jl
@@ -1,7 +1,6 @@
 module InstantPulses
 import JuMP: @constraint, @variable, VariableRef, value, Model
 import ...BuildingBlocks: RFPulseBlock, fixed
-import ...ConcreteBlocks: to_concrete_block, AbstractConcreteBlock
 import ...Variables: flip_angle, phase, start_time, variables, duration, get_free_variable, VariableType
 import ...BuildSequences: @global_model_constructor
 import ..FixedPulses: FixedInstantPulse
diff --git a/src/pulses/sinc_pulses.jl b/src/pulses/sinc_pulses.jl
index 78384f4e4bc7ded6d237ba0f1d75204666f58a85..c771a488935ffdc29918420937797b442d163b23 100644
--- a/src/pulses/sinc_pulses.jl
+++ b/src/pulses/sinc_pulses.jl
@@ -4,7 +4,6 @@ import JuMP: VariableRef, @constraint, @variable, value, Model
 import QuadGK: quadgk
 import Polynomials: fit, Polynomial
 import ...BuildingBlocks: RFPulseBlock, set_simple_constraints!, fixed
-import ...ConcreteBlocks: ConcreteBlock, to_concrete_block
 import ...Variables: flip_angle, phase, amplitude, frequency, bandwidth, VariableType, variables, get_free_variable, duration
 import ...BuildSequences: @global_model_constructor
 import ..FixedPulses: FixedPulse
diff --git a/src/readouts/instant_readouts.jl b/src/readouts/instant_readouts.jl
index 56727f5c0eff2ad2ae2f890c292339b5bbb6b6a0..0951ee00a58ed0a2a6b1a3b4a93e89a2a37bb610 100644
--- a/src/readouts/instant_readouts.jl
+++ b/src/readouts/instant_readouts.jl
@@ -1,6 +1,5 @@
 module InstantReadouts
-import ...BuildingBlocks: BuildingBlock, to_block
-import ...ConcreteBlocks: AbstractConcreteBlock, to_concrete_block
+import ...BuildingBlocks: BuildingBlock, to_block, fixed
 import ...Variables: variables
 
 """
@@ -10,10 +9,10 @@ Represents an instantaneous `Readout` of the signal.
 
 It has no parameters or properties to set.
 """
-struct InstantReadout <: AbstractConcreteBlock
+struct InstantReadout <: BuildingBlock
 end
 
 variables(::Type{<:InstantReadout}) = []
-to_concrete_block(::InstantReadout) = InstantReadout()
 to_block(::Type{<:InstantReadout}) = InstantReadout()
+fixed(i::InstantReadout) = i
 end
\ No newline at end of file
diff --git a/src/wait.jl b/src/wait.jl
index f524116500453ed42d7784abb4843f617751549d..abffc4dcf345e7499f9757dc952fea07118040d6 100644
--- a/src/wait.jl
+++ b/src/wait.jl
@@ -2,7 +2,6 @@ module Wait
 import JuMP: Model, @constraint, @variable, VariableRef, owner_model, value
 import ..Variables: VariableType, variables, duration, get_free_variable
 import ..BuildingBlocks: BuildingBlock, to_block
-import ..ConcreteBlocks: to_concrete_block, ConcreteBlock
 import ..BuildSequences: @global_model_constructor
 import ...Scanners: Scanner
 
@@ -48,6 +47,4 @@ variables(::Type{WaitBlock}) = [duration]
 
 duration(wb::WaitBlock) = wb.duration
 
-to_concrete_block(wb::WaitBlock) = ConcreteBlock(value(duration(wb)))
-
 end
\ No newline at end of file