integrating decorator stuff