better decorator thingy