fixing up messy decorator situation