diff --git a/CHANGELOG.md b/CHANGELOG.md
index d8ad77ea39886ef99940338d1518ead743a058e2..67da4e8b2b65026adcb2fbfe46b0e535b65d0a4b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,13 @@
 
 Changes currently on master, but not under a tag.
 
+### Changes
+- The paths between imports where changed so that calls such as
+  `tupak.WaveformGenerator` no longer work. Instead, we need to use
+  `tupak.gw.WaveformGenerator`. This was done to keep things cleaner going
+  forward (when, for example, there may be multiple wfg's).
+
+
 ## [0.2.1] 2018-07-18
 
 ### Added
diff --git a/examples/injection_examples/basic_tutorial.py b/examples/injection_examples/basic_tutorial.py
index 26923d0149a03dc39662a9242bf1c1eb9f47f333..e8828cb074ed99ea4bc068d9440e236dd654a1c1 100644
--- a/examples/injection_examples/basic_tutorial.py
+++ b/examples/injection_examples/basic_tutorial.py
@@ -36,11 +36,10 @@ waveform_arguments = dict(waveform_approximant='IMRPhenomPv2',
                           reference_frequency=50.)
 
 # Create the waveform_generator using a LAL BinaryBlackHole source function
-waveform_generator = tupak.WaveformGenerator(duration=duration,
-                                             sampling_frequency=sampling_frequency,
-                                             frequency_domain_source_model=tupak.gw.source.lal_binary_black_hole,
-                                             parameters=injection_parameters,
-                                             waveform_arguments=waveform_arguments)
+waveform_generator = tupak.gw.WaveformGenerator(
+    duration=duration, sampling_frequency=sampling_frequency,
+    frequency_domain_source_model=tupak.gw.source.lal_binary_black_hole,
+    parameters=injection_parameters, waveform_arguments=waveform_arguments)
 hf_signal = waveform_generator.frequency_domain_strain()
 
 # Set up interferometers.  In this case we'll use three interferometers (LIGO-Hanford (H1), LIGO-Livingston (L1),
diff --git a/examples/injection_examples/how_to_specify_the_prior.py b/examples/injection_examples/how_to_specify_the_prior.py
index 76b2884eacdf6ea6e1fd4f8f258bbb399045f90d..450250db63b3c141ca87e9ef1689328b278dd857 100644
--- a/examples/injection_examples/how_to_specify_the_prior.py
+++ b/examples/injection_examples/how_to_specify_the_prior.py
@@ -23,11 +23,10 @@ waveform_arguments = dict(waveform_approximant='IMRPhenomPv2',
                           reference_frequency=50.)
 
 # Create the waveform_generator using a LAL BinaryBlackHole source function
-waveform_generator = tupak.WaveformGenerator(duration=duration,
-                                             sampling_frequency=sampling_frequency,
-                                             frequency_domain_source_model=tupak.gw.source.lal_binary_black_hole,
-                                             parameters=injection_parameters,
-                                             waveform_arguments=waveform_arguments)
+waveform_generator = tupak.gw.WaveformGenerator(
+    duration=duration, sampling_frequency=sampling_frequency,
+    frequency_domain_source_model=tupak.gw.source.lal_binary_black_hole,
+    parameters=injection_parameters, waveform_arguments=waveform_arguments)
 hf_signal = waveform_generator.frequency_domain_strain()
 
 # Set up interferometers.
diff --git a/examples/injection_examples/marginalized_likelihood.py b/examples/injection_examples/marginalized_likelihood.py
index b2280bca42716cf03aca32913692e833c9dda666..8db282609feb5f8c0318f69747e156b56a63fa3c 100644
--- a/examples/injection_examples/marginalized_likelihood.py
+++ b/examples/injection_examples/marginalized_likelihood.py
@@ -22,7 +22,7 @@ waveform_arguments = dict(waveform_approximant='IMRPhenomPv2',
                           reference_frequency=50.)
 
 # Create the waveform_generator using a LAL BinaryBlackHole source function
-waveform_generator = tupak.WaveformGenerator(
+waveform_generator = tupak.gw.WaveformGenerator(
     duration=duration, sampling_frequency=sampling_frequency,
     frequency_domain_source_model=tupak.gw.source.lal_binary_black_hole, parameters=injection_parameters,
     waveform_arguments=waveform_arguments)
@@ -42,7 +42,7 @@ for key in ['a_1', 'a_2', 'tilt_1', 'tilt_2', 'phi_12', 'phi_jl', 'phase', 'iota
 # Initialise GravitationalWaveTransient
 # Note that we now need to pass the: priors and flags for each thing that's being marginalised.
 # This is still under development so care should be taken with the marginalised likelihood.
-likelihood = tupak.GravitationalWaveTransient(
+likelihood = tupak.gw.GravitationalWaveTransient(
     interferometers=IFOs, waveform_generator=waveform_generator, prior=priors,
     distance_marginalization=True, phase_marginalization=False)
 
diff --git a/tupak/__init__.py b/tupak/__init__.py
index d42ac6b49f3abd9b469a84a60b3d2b88511b405d..c787368732f1d68c14e2ac62d20eb09af77ac518 100644
--- a/tupak/__init__.py
+++ b/tupak/__init__.py
@@ -18,14 +18,10 @@ https://monash.docs.ligo.org/tupak/installation.html.
 
 from __future__ import print_function, division, absolute_import
 
-# import local files, core utils should be imported first
-from tupak.core import utils, likelihood, prior, result, sampler
-from tupak.gw import detector, conversion, source, waveform_generator
-from tupak.hyper import likelihood, model
+import tupak.core
+import tupak.gw
+import tupak.hyper
 
-# import a few often-used functions and classes to simplify scripts
-from tupak.core.likelihood import Likelihood
-from tupak.gw.likelihood import GravitationalWaveTransient
-from tupak.gw.waveform_generator import WaveformGenerator
+from tupak.core import utils, likelihood, prior, result
 from tupak.core.sampler import run_sampler
-from tupak.hyper.likelihood import HyperparameterLikelihood
+from tupak.core.likelihood import Likelihood
diff --git a/tupak/gw/__init__.py b/tupak/gw/__init__.py
index 96e8091e4dafdceee2345d7659b61a3db09429df..9969e9d5f35434cc0247c1470c00bde6ee7f45ed 100644
--- a/tupak/gw/__init__.py
+++ b/tupak/gw/__init__.py
@@ -6,3 +6,6 @@ import tupak.gw.prior
 import tupak.gw.source
 import tupak.gw.utils
 import tupak.gw.waveform_generator
+
+from tupak.gw.waveform_generator import WaveformGenerator
+from tupak.gw.likelihood import GravitationalWaveTransient