packages decomposition