Added comments and exceptions to Knapsack