I'm thinking the elemental approach could work.