see above the decorator is a cleaner way of doing this