declared dot_product function