separated the methods to classes