decorator optimization