3. defining functions