First rough complete version of decorators, some fine tuning still required.