Feature/efficient compose

updated