Working project.  Accepts variable arrays as input.