seperate decompose module while developing