decouple utility functions and asset patch