change wrapper decorator
clean code