Add initial Decoration support, many misc. improvements and  modifications