implementato l'interfaccia checker e il factory