added behavior decorator