speedups by quitting evaluation if exceeds max_weight and checking for word in dict. Also track time, check for capitalization rethink.