I see that is good approach for the first time, but thinking of user interface I can imagine an approach based on a select box. We can discuss it later.