refactor class/Object suite and add Pattern