changed the doctstring statement to appear more descriptive
added some tests for the product function
added a recursive product function