added missing classes and test