more fun with functions