use delegate instead of defining a new method