Made knapsack more object oriented - need to benchmark