unstable work on class based decorators