add decoration support