obtaining correct functionality