@dg: I am open to your cleaner ideas for solution.