diff --git a/src/MRIBuilder.jl b/src/MRIBuilder.jl
index 520111ef92da1db8c25e101692454379323a9c7f..2f67ed9cfc57b039a0c47a501dc1dfd2c570675a 100644
--- a/src/MRIBuilder.jl
+++ b/src/MRIBuilder.jl
@@ -12,7 +12,7 @@ include("pathways.jl")
 include("parts/parts.jl")
 include("sequences/sequences.jl")
 include("printing.jl")
-include("pulseq.jl")
+include("sequence_io/sequence_io.jl")
 include("plot.jl")
 
 import .BuildSequences: build_sequence, global_model, global_scanner, fixed
@@ -39,8 +39,8 @@ export dwi_gradients, readout_event, excitation_pulse, refocus_pulse, Trapezoid,
 import .Sequences: GradientEcho, SpinEcho, DiffusionSpinEcho, DW_SE, DWI
 export GradientEcho, SpinEcho, DiffusionSpinEcho, DW_SE, DWI
 
-import .Pulseq: read_pulseq
-export read_pulseq
+import .SequenceIO: read_sequence
+export read_sequence
 
 import .Plot: plot_sequence
 export plot_sequence
diff --git a/src/pulseq.jl b/src/sequence_io/pulseq.jl
similarity index 98%
rename from src/pulseq.jl
rename to src/sequence_io/pulseq.jl
index a907bce2c191ce0d9203360e0f3450d629180bb5..6dc7276e71a221c1094d2f5dfad106dd2153faab 100644
--- a/src/pulseq.jl
+++ b/src/sequence_io/pulseq.jl
@@ -1,8 +1,8 @@
 module Pulseq
-import ..Variables: duration
-import ..Scanners: Scanner
-import ..Components: GenericPulse, GradientWaveform, ADC
-import ..Containers: BuildingBlock, Sequence, Wait
+import ...Variables: duration
+import ...Scanners: Scanner
+import ...Components: GenericPulse, GradientWaveform, ADC
+import ...Containers: BuildingBlock, Sequence, Wait
 import DataStructures: OrderedDict
 import Interpolations: linear_interpolation, Flat
 import StaticArrays: SVector
diff --git a/src/sequence_io/sequence_io.jl b/src/sequence_io/sequence_io.jl
new file mode 100644
index 0000000000000000000000000000000000000000..07f0cf28a21b90794b27e4cf9c75cd81c0d27c5e
--- /dev/null
+++ b/src/sequence_io/sequence_io.jl
@@ -0,0 +1,16 @@
+module SequenceIO
+
+include("pulseq.jl")
+
+import .Pulseq: read_pulseq
+
+
+function read_sequence(filename::AbstractString)
+    if endswith(filename, ".seq")
+        return read_pulseq(filename)
+    else
+        error("Cannot read file $filename. Extension is not recognised")
+    end
+end
+
+end
\ No newline at end of file