interpretator pattern