decompose macro methods and realization