as above, only apply once.  probably introduce a static utility method.