implemented inheritance, added missing files