decoupling blog gen