apply decorate to prototype