préparation design patern state