Needs a constructor for initialization