add wrapper class using template, use of decoration pattern