new way of defining functions