This is a pretty terrible pattern :\