Introduction & Requirements