facade decomposition code