   """
   defmacro play_synth(pitch,duration) do
     quote do
-      my_motif = my_motif ++ [SP.play_synth(unquote(pitch), unquote(duration))]
-      my_motif = my_motif ++ [SP.sleep(unquote(duration))]
+      var!(my_motif) = var!(my_motif) ++ [SP.play_synth(unquote(pitch), unquote(duration))]
+      var!(my_motif) = var!(my_motif) ++ [SP.sleep(unquote(duration))]
     end
   end
   defmacro rest(duration) do
     quote do
-      my_motif = my_motif ++ [SP.sleep(unquote(duration))]
+      var!(my_motif) = var!(my_motif) ++ [SP.sleep(unquote(duration))]
     end
   end
   @doc """

  """
  defmacro wait_for(music_event) do
    quote do
      my_motif = my_motif ++ [SP.sync(unquote(music_event))]
    end
  end
  @doc """

    #do compile time checks here
    quote do
      def motif(unquote(name)) do
        var!(my_motif) = []
        unquote(body)
        var!(my_motif) #return value
      end
    end
  end
