added interfaces to classes